浏览器跨域办法
參考文章: https://www.cnblogs.com/2050/p/3191744.html
開發中的跨域辦法總結
一、jsonp
實現思路:
前端請求:html頁面發送請求的時候在請求地址上加上參數callback=xxx,比如callback=test(當然callback也可以是別的,需要跟服務器端約定),同時,本地必須有一個叫test的函數
服務器端:接收到請求的時候,解析參數,得到前端傳來的函數名test,然后給前端返回數據的時候把test也帶上,比如要返回{a:2,b:3},實際返回的是字符串'test({"a":"2","b":"3"})',而瀏覽器收到這段字符串的時候,就會自動的去執行字符串里的代碼,最終執行的就是test({a:2,b3}),就拿到了實際的數據{a:2,b:3};
二、通過修改document.domain來跨子域
實際就是把兩個域讓他們的變成同域的,有條件限制,必須主域相同才可以
三、使用window.name來進行跨域
在一個窗口(window)的生命周期內,窗口載入的所有的頁面都是共享一個window.name,
四、使用HTML5中新引進的window.postMessage方法來跨域傳送數據
一個頁面有幾個框架的那種情況下,每一個框架都有一個window對象,他們之間可以通過postMessage傳遞信息
五、服務器設置跨域
php、java等都可以設置允許哪些命名訪問
六、給瀏覽器設置跨域(開發時常用)
七、使用代理
我們經常使用webpack就可以設置
總結
- 上一篇: 数组的迭代
- 下一篇: uwsgi和nginx的故事