跨域問題的原因及解決方案


原因:

  是指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