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字符串’);