什么是跨域访问
- 跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 C网站,包括提交内容和获取内容。由于安全原因,跨域访问是被各大浏览器所默认禁止的。
- 跨域是浏览器才拥有的限制。
- 跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。
怎样会导致跨域
- 域名不同
- 端口不同
- 协议不同
跨域访问导致的问题
- 跨域并不是说你不能把数据传递过去,其实你能把数据传递过去,也能收到响应,不过能收到,不代表能使用,network网络请求里是可以看到响应的,但是浏览器限制了xhr不处理,所以xhr是可以把数据传递过去,但是如果你想使用响应结果,是做不到的
跨域有哪些手段
- 后端设置接口允许跨域
- jsonp - 仅限get请求
- domain - 仅限主域和子域之间document.domain设置成同样的值
- 服务端代理 - 服务器之间进行通信
- postMessage - 跨文档传输信息iframe