跨域问题的原因及解决方案


原因:

  是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。

解决方案有十种:

  1.通过Jsonp实现跨域  (常用)

  2.通过修改document.domain来跨子域

  3.window.name+iframe跨域

  4.跨文档消息传输window.postMessage

  5.通过CORS(跨域资源共享)解决AJAX跨域

  6.通过Nginx反向代理

  7.Nodejs中间件代理(两次跨域)

  8.websocket协议跨域

  9.localhost.hash+iframe跨域

  10.通过设置Access-Control-Allow-Origin    

 

 

PS:前面九种的具体原理和方案参考:九种跨域方案实现原理

  最后一种参考:Ajax 设置Access-Control-Allow-Origin实现跨域访问


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM