jsonp的原理

jsonp 是跨域请求数据的一种解决方式

http://baidu.com:8080?abc=123

http://叫做协议

baidu.com叫做域名

8080叫做端口

当两个地址中的协议域名和端口有任何一个不相同时,都是跨域。当全部相同时,则为同源

原理:

ajax不能跨域请求数据(由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源。),但是script标签中的src则不受跨域的限制,可以请求其他服务器上的文件,那么可以利用这个特性来实现跨域获取数据。

实现方式:

a.html中请求跨域文件json.js

<html>
<head>
    <title></title>
    <script type="text/javascript">
    var callback= function(data){
       console.info(`请求的数据${data}`);
    };
    </script>
    <script type="text/javascript" src="http://域名/json.js"></script>
</head>
<body>
 
</body>
</html>

json.js

callback(‘这是一个json字符串’);

 

posted @ 2018-10-10 15:11  abc1234_abc  阅读(152)  评论(0编辑  收藏  举报