溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue+Java后端進(jìn)行調(diào)試時解決跨域問題的方式

發(fā)布時間:2020-10-19 11:52:18 來源:腳本之家 閱讀:463 作者:阿木俠 欄目:web開發(fā)

      今天在開發(fā)過程中遇到一個問題,拿到了一套vue代碼,計劃對這套代碼的部分樣式進(jìn)行調(diào)整,Java后端代碼已經(jīng)寫好并且部署到了線上。這時命令行運(yùn)行vue項目時訪問會受限,取不下數(shù)據(jù)來,遇到了跨域訪問失敗的問題,這時可以怎么做呢?

首先,要了解什么叫跨域訪問?

跨域,指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對javascript施加的安全限制。

所謂同源是指,域名,協(xié)議,端口均相同,舉個例子:

http://www.123.com/index.html 調(diào)用 http://www.123.com/server.php (非跨域)

http://www.123.com/index.html 調(diào)用 http://www.456.com/server.php (主域名不同:123/456,跨域)

http://abc.123.com/index.html 調(diào)用 http://def.123.com/server.php (子域名不同:abc/def,跨域)

http://www.123.com:8080/index.html 調(diào)用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域)

http://www.123.com/index.html 調(diào)用 https://www.123.com/server.php (協(xié)議不同:http/https,跨域)

請注意:localhost和127.0.0.1雖然都指向本機(jī),但也屬于跨域。

知道了跨域的概念之后我們?nèi)绾谓鉀Q他呢?

我這里的情況是這樣的,后端在服務(wù)器上,但是vue在本地運(yùn)行,網(wǎng)上有很多的跨域代理工具,但是都比較麻煩。因為vue-cli 腳手架工具已經(jīng)幫我們做了處理,只需要稍微配置一下,就可以輕松解決跨域問題。

我們打開 config/index.js 文件,找到以下代碼:

vue+Java后端進(jìn)行調(diào)試時解決跨域問題的方式

在proxyTable: {}配置代理,配置信息如下:

proxyTable: { 
 '/project_dzff/': { 
 target: 'http://120.92.45.71/', //域名 
 secure: false, 
 changeOrigin: false, 
 } 
 }, 

代理配置之后,再去修改項目的調(diào)用接口地址的信息,讓他調(diào)用我們配置好的東西。

serverRoot: env === 'development' ? '/project_dzff' : 
env === 'production' ? '/project_dzff' : 
'https://debug.url.com' 

這里由原先訪問http://120.92.45.71/調(diào)整為訪問project_deff,即我們自己定義的名字了。

這時我們運(yùn)行vue項目,如圖:

vue+Java后端進(jìn)行調(diào)試時解決跨域問題的方式

這時基本上訪問已經(jīng)成功代理到本地了,這時就可以使用本地的vue項目訪問服務(wù)器端的數(shù)據(jù)了!

總結(jié)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI