jsonp

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>
原文地址:https://www.cnblogs.com/wanf/p/7356706.html