跨域是什么 ,怎么解决跨域问题

跨域是指一个域去请求另一个非同源的域资源

比喻:假如你去别人家拿钱拿得到吗 拿不到 得想办法,

我所知道的办法:
1.服务器proxy(代理):
浏览器有跨域限制,但是服务器不存在跨域的问题,所有可以由服务器来请求所有域的资源返回给客户端

2.postMessage跨域
postMessage()方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。
postMessage(data,origin)方法接受两个参数:
1.data:你需要传递的消息,消息传递的格式有一定要求:参数可以是JavaScript的任意基本类型或可复制的对象,然而并不是所有浏览器都做到了这点儿,部分浏览器只能处理字符串参数,所以建议直接传递string类型参数。json格式使用JSON.stringify()方法对对象参数序列化,在低版本IE中引用json2.js可以实现类似效果。
2.origin:该参数指明目标窗口的源。postMessage()方法只会将message传递给指定窗口,也可以设置为"*",表示可以传递给任意窗口。

主页有postMessage跨域测试代码

猜你喜欢

转载自blog.csdn.net/qq_41251714/article/details/84302862