vue跨域解決的幾種方案

2021-10-09 12:29:20 字數 2100 閱讀 9341

平時使用vue開發的時候,大多會使用vue-cli搭建專案,在vue-cli搭建的專案中有乙個配置檔案vue.config.js,可以在該檔案中進行相應的配置解決開發環境的跨域問題。

第一步設定公共url

api/index.js

import axios from 'axios'

import router from '@/router/index.js'

import store from '@/store/index.js'

// 建立乙個axios例項

var instance = axios.create()

// 請求***

instance.interceptors.request.use(function (config) , function (error) )

// 響應攔截

instance.interceptors.response.use(function (config)

return config;

}, function (error) )

export default function (method, url, data = null) else if (method == 'get') else if (method == 'delete') else if (method == 'put') else

}

api/modules/pagesapi.js

import req from '../index'

//使用者註冊介面

export const register =(params)=>

//使用者登入介面

export const login =(params)=>

//model列表及分頁

export const getformlist =(params)=>

export const querymodel =(params)=>)

}//model刪除介面

export const deletemodel =(params)=>)

}//model新增

export const insertmodel =(params)=>

通過***我們可以更加容易的與後台進行互動,同時簡潔了**,使得管理更加容易,我們建立***的時候可以指定baseurl,這裡我指定的是**"/api",因為接下來我們需要對"/api"進行攔截配置,目的是凡是以"/api"開頭的請求url都會將url中的"/api"**的前面新增上我們指定的內容。

例如:

'/api/user/login'     替換成   ''
vue.config.js

devserver: ,

// 3.開發環境進行http的**

proxy: }}

},

配置nginx**

location / 

#解決跨域

location /api

response.setheader("access-control-allow-origin", "*");//* or origin as u prefer

response.setheader("access-control-allow-credentials", "true");

response.setheader("access-control-allow-methods", "put, post, get, options, delete");

response.setheader("access-control-max-age", "3600");

response.setheader("access-control-allow-headers", "content-type, authorization");

vue解決跨域方案

跨域是指瀏覽器不允許當前頁面所在源去請求另乙個源的資料。源是指協議,埠,網域名稱。只要這3個中有乙個不同就是跨域 協議跨域 訪問埠跨域 8080訪問 80 網域名稱跨域 訪問1.更改header res.header access control allow origin 允許的網域名稱 res.h...

跨域的幾種解決方案

這個可能是好多人想到的第一解決方案了但是其實這個也有侷限性 具體實現 伺服器端 echo handler json encode array a b 簡單輸出handler 客戶端 一 動態載入script標籤方式 function setscript setscript 動態載入script 處理...

js跨域的幾種解決方案

這裡說的js跨域是指通過js在不同的域之間進行資料傳輸或通訊,比如用ajax向乙個不同的域請求資料,或者通過js獲取頁面中不同域的框架中 iframe 的資料。只要協議 網域名稱 埠有任何乙個不同,都被當作是不同的域。下表給出了相對同源檢測的結果 qq截圖20130613230631 要解決跨域的問...