平時使用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 要解決跨域的問...