1.什么是jsonp?
jsonp是一种数据交换格式,是为了解决跨域产生的一种技术方式。
2.跨域
于JavaScript同源策略的限制,使得a.com域名下的js无法操作b.com或a.com域名下的对象或数据。简单理
解同一个域就是相同域名、相同端口、相同协议。
3.同源策略
首先基于安全的原因,浏览器是存在同源策略的这个机制的,同源策略阻止从一个源加载的文档或脚本获取或
设置另一个源加载的文档的属性。
4.同源策略的意义
同源策略有效的阻止了一些危险的行为,如你同时打开多个网站时,其中有一个木马网站,那么木马网站就有
可能窃取其他网站上关于你的信息或资料(因为多个网站之间是可以相互通信的),给网上用户带来了很大的
泄密风险。正是由于有了同源策略,才大大降低了这种风险。
5.同源策略的不足
虽然同源策略在一定程度上保护了用户的网络安全,但如果有时就是需要www.aaa.com获取www.bbb.com上的数
据,同样是因为同源策略造成无法从自己信任的其他网页上取得数据。
6.jsonp的客户端具体实现
通过script中的src加载远程的jQuery毫无疑问是可以正常运行的,所以不难发现Web页面上调用js文件是不受
跨域影响的。当然不仅如此,我们还发现凡是拥有"src"这个属性的标签都拥有跨域的能力,比如<script>、
<img>、<iframe>等
7.利用jQuery获取jsonp:
<script type="text/javascript"> $.ajax({ url: 'http://localhost:8080/a.json', dataType: 'jsonp', jsonpCallback: 'CallBack', success: function (data) { console.log(data); } }); </script>