vue解決跨域問題的方法
現(xiàn)在的項(xiàng)目,大部分都是前后端分離的,前后端最終也會(huì)分開部署,前端部署在服務(wù)器 192.168.150.200 上,端口 80,后端部署在 192.168.150.100上,端口 8080
我們打開瀏覽器直接訪問前端工程,訪問url:http://192.168.150.200/login.html
然后在該頁面發(fā)起請(qǐng)求到服務(wù)端,而服務(wù)端所在地址不再是localhost,而是服務(wù)器的IP地址192.168.150.100,假設(shè)訪問接口地址為:http://192.168.150.100:8080/login
那此時(shí)就存在跨域操作了,因?yàn)槲覀兪窃?nbsp;http://192.168.150.200/login.html 這個(gè)頁面上訪問了http://192.168.150.100:8080/login 接口
區(qū)分跨域的維度:
協(xié)議
IP/域名
端口
只要上述的三個(gè)維度有任何一個(gè)維度不同,那就是跨域操作
舉例:
http://192.168.150.200/login.html ----------> https://192.168.150.200/login [協(xié)議不同,跨域]
http://192.168.150.200/login.html ----------> http://192.168.150.100/login [IP不同,跨域]
http://192.168.150.200/login.html ----------> http://192.168.150.200:8080/login [端口不同,跨域]
http://192.168.150.200/login.html ----------> http://192.168.150.200/login [不跨域]
現(xiàn)在我們已經(jīng)了解了什么是跨域,現(xiàn)在我們探究,如何去解決。
無論是前端還是后端都可以解決跨域的問題,但是我個(gè)人認(rèn)為,在前端解決更加方便和簡單,因此我們現(xiàn)在看怎么在前端解決跨域的問題。
首先在我們的vue前端工程中找到main.js文件,通常在App.vue同級(jí)。
我們加入這兩行代碼:

Vue.prototype.$axios = axios axios.defaults.baseURL='/api'
這樣,我們?cè)趶那岸送蠖税l(fā)送請(qǐng)求時(shí),路徑上都會(huì)默認(rèn)添加/api這一級(jí)路徑,當(dāng)然你可以換成任何你喜歡的單詞。
然后找到vue.config.js,通常在你項(xiàng)目的根目錄之下。
我們加入以下幾行代碼:

其中port是你本機(jī)vue項(xiàng)目的端口,一般情況下文件中原先就存在,可自行修改成其他端口。
proxy: {
'/api': {
target: 'http://localhost:8090', // 后端服務(wù)地址
changeOrigin: true,
pathRewrite: {
'^/api': '' // 路徑重寫,將請(qǐng)求中的 '/api' 前綴去掉
}
}
}然后我們隨便寫兩行代碼測試一下,先把后端代碼啟動(dòng)起來:

然后我們?cè)侔亚岸舜a啟動(dòng):

然后我們?cè)L問:http://localhost:8091/
可以看到:

因?yàn)槭亲鰷y試?yán)?,所以只有一個(gè)簡易的界面,現(xiàn)在我們輸入信息,點(diǎn)擊登錄

顯示登錄成功,這時(shí),我們?cè)诓榭纯刂婆_(tái)

ok,不僅后端接收到了請(qǐng)求,前端也接收到了后端的返回信息。
到此這篇關(guān)于vue解決跨域問題的方法的文章就介紹到這了,更多相關(guān)vue解決跨域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue如何對(duì)一個(gè)數(shù)據(jù)過濾出想要的item
這篇文章主要介紹了vue如何對(duì)一個(gè)數(shù)據(jù)過濾出想要的item問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
vue實(shí)現(xiàn)盒子內(nèi)拖動(dòng)方塊移動(dòng)的示例代碼
這篇文章主要給大家介紹了如何通過vue實(shí)現(xiàn)盒子內(nèi)拖動(dòng)方塊移動(dòng),文章通過代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以參考閱讀本文2023-08-08
使用vue+element?ui實(shí)現(xiàn)走馬燈切換預(yù)覽表格數(shù)據(jù)
這次做項(xiàng)目的時(shí)候遇到需要切換預(yù)覽表格數(shù)據(jù)的需求,所以下面這篇文章主要給大家介紹了關(guān)于使用vue+element?ui實(shí)現(xiàn)走馬燈切換預(yù)覽表格數(shù)據(jù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
vue移動(dòng)端使用appClound拉起支付寶支付的實(shí)現(xiàn)方法
vue使用rules實(shí)現(xiàn)表單字段驗(yàn)證

