1. 程式人生 > >跨域問題(Vue開發中遇到的跨域問題)以及解決方法

跨域問題(Vue開發中遇到的跨域問題)以及解決方法

跨域是指a頁面想獲取b頁面資源,如果a、b頁面的協議、域名、埠、子域名不同,或是a頁面為ip地址,b頁面為域名地址,所進行的訪問行動都是跨域的,而瀏覽器為了安全問題一般都限制了跨域訪問,也就是不允許跨域請求資源。

1.jsonp

原理是:動態插入script標籤,通過script標籤引入一個js檔案,這個js檔案載入成功後會執行我們在url引數中指定的函式,並且會                  把我們需要的json資料作為引數傳入。

由於同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協議、埠)的資源,為了實現跨域請求,可以通過script標籤實現跨域請求,然後在服務端輸出JSON資料並執行回撥函式,從而解決了跨域的資料請求。

優點是相容性好,簡單易用,支援瀏覽器與伺服器雙向通訊。

缺點是隻支援GET請求。

2.core

採用的是CORS(Cross-origin resource sharing)。後臺在響應頭中新增Access-Control-Allow-Origin。這樣就可以跨域調後臺介面了。 

3.vue開發期間的api代理

當將此樣板與現有後端整合時,通常需要在使用dev伺服器時訪問後端API。為了實現這一點,我們可以並行(或遠端)執行dev伺服器和API後端,並讓dev伺服器將所有API請求代理到實際的後端。