跨域问题来自同源策略。
同源策略: 协议 域名 端口
带来影响:页面在进行通信的时候,dom ajax cookie localstorage无法访问。
破除方式:
1.针对cookie
类似域名:设置document.domain
不同域名:无法解决
2.针对dom localstorage
主要是IFRAME互相获取
类似域名:设置document.domain
不同域名:
片段识别符(fragment identifier):#/ 监听haschange事件
window.name :监听window.name事件
跨文档通信API(Cross-document messaging): 通过postmessage发送消息
3.针对ajax
JSONP : script指定callback 前端声明callback,返回后立即执行。只支持Get。
WebSocket:通过协议 指定origin,后台判断是否在白名单内部。
CORS:简单请求,非简单请求。双方通过origin协商。浏览器支持不好。但是可以post delete ,并且直接使用xmlhttp。属于服务器端技术。
设置代理:通过设置nginx代理或者nodejs代理
网友评论