92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

前端解決跨域問題的常用方法

2019-11-6    seo達人

首先,跨域是什么?



只要協議、域名、端口有任何一個不同,都被當作是不同的域。為什么三者任何一個不同就會產生跨域呢,想想也很容易知道,要是很隨便引用什么外部文件,不同標簽下的頁面引用類似的彼此的文件,瀏覽器很容易懵逼的,保障不了安全問題,但在安全限制的同時也給注入iframe或是ajax請求上帶來了不少麻煩。所以我們要通過一些方法使本域的js能夠操作其他域的頁面對象或者使其他域的js能操作本域的頁面對象



但有兩點至少要清楚:



如果是協議和端口造成的跨域問題“前臺”是無能為力的;

在跨域問題上,域僅僅是通過“URL的首部”來識別而不會去嘗試判斷相同的ip地址對應著兩個域或兩個域是否在同一個ip上。

(“URL的首部”指window.location.protocol +window.location.host,也可以理解為“Domains, protocols and ports must match”。)

1.通過HTML5的postMessage方法跨域



頁面M通過postMessage方法發送消息如下:



window.onload = function() {  

    var iframe_dom = document.getElementById('iframId');  

    var targetOrigin = ";

    iframe_dom.contentWindow.postMessage('hello world!', targetOrigin);  

};

備注:



postMessage的使用方法:



originwindow.postMessage(message, targetOrigin);



originwindow:是說的目標窗口,即要給某個window發消息,是 window.frames 屬性的成員或者由 window.open 方法創建的窗口

message: 是要發送的消息,類型為 String、Object (但IE8、9 不支持)

targetOrigin: 是限定消息接收范圍,不限制請使用 '*

頁面N通過message事件監聽并接受消息如下:



let onmessage = function (event) {  

  var data = event.data;//由發送窗口傳過來的消息內容  

  var origin = event.origin;//由發送窗口傳過來的消息來源地址  

  var source = event.source;//源Window對象  

  if(origin=="
;

    console.log(data);//hello world!  

  }  

};  

if (typeof window.addEventListener != 'undefined') {  

  window.addEventListener('message', onmessage, false);  

} else if (typeof window.attachEvent != 'undefined') {  

  //for ie  

  window.attachEvent('onmessage', onmessage);  

}

或者為了防止接入方的命名沖突,也可以約定事件名,以此加以區分



例如



window.addEventListener("message", function(event) {

  if (

    event &&

    typeof event.data == "object" &&

    event.data.event == "FUNCTION_NAME"

){

document.getElementById("val").innerHTML = event.data.value;

} });

2.通過JSONP



上面那種方式的通信是雙向的,頁面與iframe或是頁面與頁面之間的



JSONP主要是封裝好的請求方式添加callback,這個callback是由前后端約定好的



它的優劣勢:



JSONP的優點:它不像XMLHttpRequest對象實現的Ajax請求那樣受到同源策略的限制;它的兼容性更好,在更加古老的瀏覽器中都可以運行,不需要XMLHttpRequest或ActiveX的支持;并且在請求完畢后可以通過調用callback的方式回傳結果。

JSONP的缺點:它只支持GET請求而不支持POST等其它類型的HTTP請求;它只支持跨域HTTP請求這種情況,不能解決不同域的兩個頁面之間如何進行JavaScript調用的問題;無法判斷它是否請求成功,只能通過timeout

3.CORS跨域



實現CORS通信的關鍵是服務器端,只要服務端那邊實現了CORS接口,就可以跨源通信



CORS(Cross-Origin Resource Sharing)跨域資源共享,定義了必須在訪問跨域資源時,瀏覽器與服務器應該如何溝通。CORS背后的基本思想就是使用自定義的HTTP頭部讓瀏覽器與服務器進行溝通,從而決定請求或響應是應該成功還是失敗。目前,所有瀏覽器都支持該功能,IE瀏覽器不能低于IE10。整個CORS通信過程,都是瀏覽器自動完成,不需要用戶參與。對于開發者來說,CORS通信與同源的AJAX通信沒有差別,代碼完全一樣。瀏覽器一旦發現AJAX請求跨源,就會自動添加一些附加的頭信息,有時還會多出一次附加的請求,但用戶不會有感覺



服務器端對于CORS的支持,主要就是通過設置Access-Control-Allow-Origin來進行的。如果瀏覽器檢測到相應的設置,便可以允許Ajax進行跨域的訪問



 



CORS和JSONP對比



JSONP只能實現GET請求,而CORS支持所有類型的HTTP請求。



使用CORS,開發者可以使用普通的XMLHttpRequest發起請求和獲得數據,比起JSONP有更好的錯誤處理。



JSONP主要被老的瀏覽器支持,它們往往不支持CORS,而絕大多數現代瀏覽器都已經支持了CORS)。



CORS與JSONP相比,顯然更為先進、方便和可靠。



4.設置代理



目前市場上用vue技術不在少數,下面介紹一種配置代理方式



在vue.config.js該文件里面配置如下:



 devServer: {

        port: 8001,

        open: true,

        disableHostCheck: true,

        proxy: {

            '/api': {

                target: 'https:/xxx.com',

                secure: true, // false為http訪問,true為https訪問

                ws: true,

                changeOrigin: true,

                pathRewrite: {

                    '^/api': ''

                }

             }

        }

 }

 



后面請求是需要帶上‘/api’請求即可


日歷

鏈接

個人資料

藍藍設計的小編 http://www.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
亚洲香蕉av在线一区二区三区| 最新亚洲国产精品| 性欧美在线看片a免费观看| 国产成人综合精品在线| 亚洲一区二区精品| 国产国语刺激对白av不卡| 欧美国产日韩精品| 亚洲欧美在线免费| 欧美小视频在线观看| 国产精自产拍久久久久久蜜| 国产精品一区二区三区久久| 久久久久久噜噜噜久久久精品| 亚洲精品美女久久久久| 亚洲天堂免费视频| 久久亚洲国产精品成人av秋霞| 欧美华人在线视频| 精品久久久久久亚洲精品| 北条麻妃久久精品| 亚洲精品国产精品国产自| 伦伦影院午夜日韩欧美限制| 日韩欧美国产高清91| 精品国内自产拍在线观看| 日韩在线视频观看| 国产婷婷成人久久av免费高清| 中文字幕一区二区精品| 欧美一级电影久久| 国内精品久久久久久中文字幕| 亚洲国产精品专区久久| 国产成人精品av在线| 成人在线视频网| 国产精品情侣自拍| 青草青草久热精品视频在线网站| 日韩电影中文字幕在线| 97视频在线播放| 久久久国产一区二区三区| 色噜噜狠狠狠综合曰曰曰88av| 国产成人拍精品视频午夜网站| 亚洲精品国产精品久久清纯直播| 国产欧美精品久久久| 国产精品成久久久久三级| 亚洲偷熟乱区亚洲香蕉av| 亚洲一区二区久久久| 国产精品88a∨| 国产91久久婷婷一区二区| 最近更新的2019中文字幕| 欧美性猛交xxxx久久久| 亚洲黄在线观看| 国产免费成人av| 欧美高清在线播放| 国产拍精品一二三| 96精品久久久久中文字幕| 国产一区二区三区直播精品电影| 亚洲国产成人久久| 国产成人久久精品| 亚洲精品视频久久| 欧洲成人免费aa| 亚洲精品成人久久电影| 国产69久久精品成人| 国产精品一区二区3区| 欧美日韩激情视频| 91po在线观看91精品国产性色| 久久不射热爱视频精品| 日本亚洲欧美三级| 久久久久免费精品国产| 欧洲成人免费视频| 久久不射电影网| 久久九九精品99国产精品| 久久亚洲精品成人| 欧美午夜精品伦理| 91精品国产91久久久久久| 国产日韩欧美电影在线观看| 性欧美亚洲xxxx乳在线观看| 亚洲自拍小视频| 国产精品69精品一区二区三区| 亚洲精品中文字幕有码专区| 日本高清不卡的在线| 久久91超碰青草是什么| 精品亚洲夜色av98在线观看| 国产在线不卡精品| 久久在精品线影院精品国产| 日韩在线观看网站| 日韩电影中文 亚洲精品乱码| 欧美第一黄色网| 国内精品久久久久影院优| 日韩欧美一区二区在线| 一区二区三区四区视频| 久久97久久97精品免视看| 亚洲国产婷婷香蕉久久久久久| 国产91精品久久久久久久| 国模私拍视频一区| 国产欧美最新羞羞视频在线观看| 91成人精品网站| 国产精品久久久久免费a∨| 2023亚洲男人天堂| 综合136福利视频在线| 色综久久综合桃花网| 亚洲成人久久电影| 久久精品电影网| 亚洲美女av在线播放| 成人国产精品色哟哟| 久久久av亚洲男天堂| 欧美激情免费视频| 国产精品视频永久免费播放| 久久国产精品首页| 国产精品网站视频| 亚洲人成五月天| 俺去亚洲欧洲欧美日韩| 啊v视频在线一区二区三区| 国产美女被下药99| 国产精品a久久久久久| 亚洲国产精品免费| 亚洲精品在线不卡| 亚洲第一av在线| 亚洲人成在线观| 亚洲a中文字幕| 欧美高清在线观看| 国产亚洲xxx| **欧美日韩vr在线| 国产成人高潮免费观看精品| 国产91在线播放| 国产精品影院在线观看| 国产精品亚洲片夜色在线| 欧美黄色片免费观看| 国产91精品高潮白浆喷水| 欧美老女人性生活| 欧美成人激情视频免费观看| 日本精品视频在线| 国产女人精品视频| 亚洲人成毛片在线播放| 精品magnet| 亚洲欧美一区二区三区情侣bbw| 国产成人精品在线观看| 亚洲人成电影在线| 国产亚洲精品日韩| 岛国av一区二区三区| 91精品国产免费久久久久久| 日韩电影免费在线观看| 羞羞色国产精品| 国产精品美乳在线观看| 精品国产31久久久久久| 91网站在线看| 亚洲女人天堂视频| 国产精品久久久久久亚洲调教| 国产精品免费网站| 国产99久久精品一区二区永久免费| 亚洲精品久久在线| 国产suv精品一区二区| 亚洲欧洲午夜一线一品| 日韩视频在线一区| 伦伦影院午夜日韩欧美限制| 欧美在线一区二区视频| 欧美视频13p| 久久久久久久久国产| 国产精品大片wwwwww| 国产欧美日韩中文字幕| 2021国产精品视频| 一区二区亚洲欧洲国产日韩| 欧美在线观看视频| 欧美日韩在线另类| 亚洲午夜精品视频| 中文字幕日韩欧美在线视频| 97香蕉超级碰碰久久免费软件| 亚洲精品www久久久| 亚洲久久久久久久久久久|