<p>一般人都知道什么是json,他是一种数据格式方便存储和记忆和提取,但是很少有人知道什么是jsonp。首先它实际上不是太复杂...说你是在abc.com,并且你想使一个请求域xyz.com。要做到这一点,你需要跨越域边界,在大多数browserland的一个禁忌。的一个项目,绕过这个限制是<script>标记。当您使用script标签,域限制被忽略,但在正常情况下,你真的不能对结果进行任何操作,脚本只是被评估。输入JSONP。当你让你的请求到服务器已启用JSONP,你通过一个特殊的参数,它告诉服务器你的网页一点点。这样一来,服务器能够很好地包裹它的响应的方式,你的页面可以处理。例如,假设服务器需要一个被称为“回呼”的参数,使其JSONP能力。那么您的申请将如下所示:http://www.起航劳务派遣系统.com/sample.aspx?callback=mycallback如果没有JSONP,这可能会返回一些基本的Javascript对象,就像这样:{foo:'bar'}</p><p>然而,随着JSONP,当服务器收到了“回调”参数,它包装起来的结果有点不同,返回的是这样的:mycallback({foo:'bar'});</p><p>正如你可以看到,它现在将调用指定的方法。所以,在你的页面中,您可以定义回调函数:</p><p>mycallback=function(data){</p><p>alert(data.foo);</p><p>};而现在,当脚本被加载时,它会被执行,你的函数将被执行。瞧,跨域请求!另外值得一提的使用JSONP的一个主要问题:你失去了很多请求的控制权。例如,没有“好”的方式来获得正确的故障代码回来。作为一个结果,你最终使用计时器来监视请求等,这始终是一个有点怀疑。该命题JSONRequest是一个伟大的解决方案,以允许跨域脚本编写,维护安全,并允许请求的适当控制。</p>