1. 程式人生 > >關於vue中的跨域問題

關於vue中的跨域問題

我們在使用vue框架的時候,難免遇到跨域的問題。當然解決跨域問題的方法有很多,那我就說說在我遇到跨域問題的時候是如何解決的吧。

在我請求一個後臺介面的時候,瀏覽器報錯,報錯的資訊就是告訴我跨域了,沒法弄了。然而這時候又不能讓後臺修改程式碼,只好在前端設定相應的程式碼了。OK,不廢話了,直接說如何解決問題吧。


就是在config下的index.js中配置相關程式碼。具體程式碼見下圖


其中,target是介面域名,即http://xxxx.com的形式;changeOrigin為true,設定是否跨域;pathRewrite設定重寫的路徑。

  1. 假設你主機名為 localhost:8080 , 請求 API 的 url
     是 http://your_api_server.com/user/list
  2. '/apis':如果點選某個按鈕,觸發請求 API 事件,這時請求 url 是http://localhost:8080/apis/user/list 。
  3. changeOrigin:如果 true ,那麼 http://localhost:8080/apis/user/list 變為 http://your_api_server.com/apis/user/list 。但還不是我們要的 url 。
  4. pathRewrite:重寫路徑。匹配 /proxy ,然後變為'' ,那麼 url 最終為 http://your_api_server.com/user/list 。

config配置好之後,接下來就是你要請求的介面的位置怎麼寫了


只需要把你要請求的域名地址改為剛剛設定的重寫的路徑就好了,後面該拼接引數就拼接引數。

需要改動的程式碼就這些了,是不是很簡潔呢?

最後,不要忘了改動配置檔案後需要重啟服務,這樣才會有效哦!