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