Vue3.0?axios跨域請求代理服務(wù)器配置方式
axios跨域請求代理服務(wù)器配置
首先安裝axios
npm install axios
然后在vue.config.js文件下配置如下代碼
(若沒有vue.config.js文件可以自己創(chuàng)建這個文件)
module.exports = { devServer: { open: true, port: 8001, proxy: { '/apis': { target: 'http://localhost:8080/thinkphp/personal_blog/public/personal.php/personal/', // target host ws: true, // proxy websockets changeOrigin: true, // needed for virtual hosted sites pathRewrite: { '^/apis': '' // rewrite path } }, } } };
其中open表示是否運行時就啟動app,port表示我們當(dāng)前vue頁面的端口比如下面我的頁面端口是8001那么這里就寫8001
然后proxy中的代碼就是跨域代理服務(wù)器的配置代碼
其中target就是目標api接口,比如你們接口為 http://localhost:8080/api/login 那么target就可以寫http://localhost:8080/api/
然后在項目中實際用我們就可以這么寫
axios.post('/apis/login', postData) .then(response => { // post 成功,response.data 為返回的數(shù)據(jù) console.log(response.data) }) .catch(error => { // 請求失敗 console.log(error) })
那個apis就是http://localhost:8080/api/ 也就是我們在target中配置的api接口,"/apis/"就是 pathRewrite中配置的
然后就可以請求成功了,我這里的后臺是以tp5框架做為后臺
這里我使用的是vuecli3.0最新版的腳手架
目錄結(jié)構(gòu)如下
其中初始創(chuàng)建時沒有vue.config.js的文件,這個為自己手動創(chuàng)建
注意 修改成功后一定要重新啟動項目
axios跨域問題解決
1.在vue.config.js文件中做如下配置
target
: 配置跨域請求的地址changeOrigin
: 是否跨域pathRewrite
: 路徑重寫
2.request.js(攔截器頁面)如下配置
**這里的baseURL要修改成與vue.config.js文件中設(shè)置代理名稱(/api)相同的名字
3.具體請求頁面如下配置
(不需要做特殊配置)**
url
: 具體請求接口
我是根據(jù)自己的項目配置的,大家可以自己對照一下,僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue公共loading升級版解決思路(處理并發(fā)異步差時響應(yīng))
這篇文章主要介紹了Vue公共loading升級版(處理并發(fā)異步差時響應(yīng)),解決思路是通過定義一個全局對象來存儲每個接口的響應(yīng)狀態(tài),直到每個請求接口都收到響應(yīng)才變更狀態(tài),結(jié)束loading動畫,需要的朋友可以參考下2023-11-11關(guān)于Vue3父子組件emit參數(shù)傳遞問題(解決Vue2this.$emit無效問題)
相信很多人在利用事件驅(qū)動向父組件扔?xùn)|西的時候,發(fā)現(xiàn)原來最常用的this.$emit咋報錯了,竟然用不了了,下面通過本文給大家分享關(guān)于Vue3父子組件emit參數(shù)傳遞問題(解決Vue2this.$emit無效問題),需要的朋友可以參考下2022-07-07vue3.0使用mapState,mapGetters和mapActions的方式
這篇文章主要介紹了vue3.0使用mapState,mapGetters和mapActions的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06SpringBoot+Vue3實現(xiàn)文件的上傳和下載功能
上傳文件和下載文件是我們平時經(jīng)常用到的功能,接下來就讓我們用SpringBoot,Vue3和ElementPlus組件實現(xiàn)文件的上傳和下載功能吧,感興趣的朋友跟隨小編一起看看吧2023-01-01