解决跨域原理

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,设置需要访问的域名,或者*表示所有域名都可以访问。

posted @ 2021-10-13 10:32  达不刘-  阅读(28)  评论(0编辑  收藏  举报