解决跨域原理
JSONP的实现模式-CallBack
程序A中sample的部分代码:
<script type="text/javascript">
//回调函数
function callback(data) {
alert(data.message);
}
</script>
<script type="text/javascript" src="http://localhost:20002/test.js"></script>
程序B中test.js的代码:
//调用callback函数,并以json数据形式作为阐述传递,完成回调
callback({message:"success"});
document.domain
使用这种方法的前提是两个域名同属于一个基础域名,而且所用的端口、协议都一致;
此时就可以在两个页面代码中都写入document.domain = '两个相同的基础域名'
注意:使用document.domain赋值,只能赋值为当前域名或者基础域名,赋值为其他的会显示参数无效
CORS
服务端设置Access-Control-Allow-Origin
就可以开启CORS,设置需要访问的域名,或者*表示所有域名都可以访问。