詳解如何解決vue開發(fā)請(qǐng)求數(shù)據(jù)跨域的問題(基于瀏覽器的配置解決)
在用vue做前端開發(fā)的時(shí)候,因?yàn)橐话闩躹ue使用的webpack自帶的node服務(wù),而我們實(shí)際要使用的數(shù)據(jù)確是后臺(tái)服務(wù)器上的,所以這就涉及到服務(wù)器請(qǐng)求跨域的問題。本來在諸如axios之類的網(wǎng)絡(luò)請(qǐng)求參數(shù)里面配置
withCredentials: true,
就可以解決跨域問題的,但是現(xiàn)在瀏覽器比如chorme有做了新的跨域限制,比如要服務(wù)器端配置允許跨域才行,詳見跨域問題解決,是英文的,看起來需要花點(diǎn)功夫;那有沒有不需要服務(wù)器端配置就能解決瀏覽器的跨域問題的辦法呢?答案肯定是有的?。?/p>
這里就說chorme吧,因?yàn)閏horme基本都是前端主流瀏覽器了,配置方法如下:
版本號(hào)49之前的跨域設(shè)置
具體做法為:
1.下載并安裝好chorme瀏覽器后在桌面找到瀏覽器快捷圖標(biāo)并點(diǎn)擊鼠標(biāo)右鍵的屬性一欄。
2.在屬性頁面中的目標(biāo)輸入框里加上 --disable-web-security 如下圖所示:
3.點(diǎn)擊應(yīng)用和確定后關(guān)閉屬性頁面,并打開chrome瀏覽器。如果瀏覽器出現(xiàn)提示“你使用的是不受支持的命令標(biāo)記 --disable-web-security”,那么說明配置成功。
版本號(hào)49之后的chrome跨域設(shè)置
chrome的版本升到49之后,跨域設(shè)置比以前嚴(yán)格了,在打開命令上加--disable-web-security之后還需要給出新的用戶個(gè)人信息的目錄。眾所周知chrome是需要用gmail地址登錄的瀏覽器,登錄后就會(huì)生成一個(gè)存儲(chǔ)個(gè)人信息的目錄,保存用戶的收藏、歷史記錄等個(gè)人信息。49版本之后,如果設(shè)置chrome瀏覽器為支持跨域模式,需要指定出一個(gè)個(gè)人信息目錄,而不能使用默認(rèn)的目錄,估計(jì)是chrome瀏覽器怕用戶勿使用跨域模式泄露自己的個(gè)人信息(主要是cookie,很多網(wǎng)站的登錄token信息都是保存在cookie里)。
具體做法為:
1.在電腦上新建一個(gè)目錄,例如:C:\MyChromeDevUserData
2.在屬性頁面中的目標(biāo)輸入框里加上 --disable-web-security --user-data-dir=C:\MyChromeDevUserData,--user-data-dir的值就是剛才新建的目錄。
3.點(diǎn)擊應(yīng)用和確定后關(guān)閉屬性頁面,并打開chrome瀏覽器。
再次打開chrome,發(fā)現(xiàn)有“--disable-web-security”相關(guān)的提示,說明chrome又能正常跨域工作了。
跨域成功后,首頁換成了google的welcome頁面,同時(shí)原來收藏的鏈接和歷史記錄都不見了,而C:\MyChromeDevUserData目錄下則生成了新的個(gè)人信息相關(guān)的文件。
這樣就解決了諸如
報(bào)錯(cuò)的問題,一個(gè)坑給填滿了,后面還有很多坑需要去填,哈哈!?。?/p>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue使用代理解決請(qǐng)求跨域問題詳解
- 詳解vue-cli項(xiàng)目開發(fā)/生產(chǎn)環(huán)境代理實(shí)現(xiàn)跨域請(qǐng)求
- vue+springboot實(shí)現(xiàn)項(xiàng)目的CORS跨域請(qǐng)求
- 使用proxytable 配置解決 vue-cli 的跨域請(qǐng)求問題【推薦】
- vue-cli axios請(qǐng)求方式及跨域處理問題
- 利用SpringMVC過濾器解決vue跨域請(qǐng)求的問題
- vue2.0設(shè)置proxyTable使用axios進(jìn)行跨域請(qǐng)求的方法
- Vue跨域請(qǐng)求問題解決方案過程解析
相關(guān)文章
如何通過Vue自帶服務(wù)器實(shí)現(xiàn)Ajax請(qǐng)求跨域(vue-cli)
從A頁面訪問到B頁面,并且要獲取到B頁面上的數(shù)據(jù),而兩個(gè)頁面所在的端口、協(xié)議和域名中哪怕有一個(gè)不對(duì)等,那么這種行為就叫跨域,這篇文章給大家介紹如何通過Vue自帶服務(wù)器實(shí)現(xiàn)Ajax請(qǐng)求跨域(vue-cli),感興趣的朋友一起看看吧2023-10-10Vue之beforeEach非登錄不能訪問的實(shí)現(xiàn)(代碼親測)
這篇文章主要介紹了Vue之beforeEach非登錄不能訪問的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07詳解vantUI框架在vue項(xiàng)目中的應(yīng)用踩坑
這篇文章主要介紹了詳解vantUI框架在vue項(xiàng)目中的應(yīng)用踩坑,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12Vue Element-ui實(shí)現(xiàn)樹形控件節(jié)點(diǎn)添加圖標(biāo)詳解
這篇文章主要為大家介紹了Element-ui實(shí)現(xiàn)樹形控件節(jié)點(diǎn)添加圖標(biāo),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-11-11解決vue項(xiàng)目Error:Cannot find module‘xxx’類報(bào)錯(cuò)問題
當(dāng)npm運(yùn)行報(bào)錯(cuò)Error:Cannot find module 'xxx'時(shí),通常是因?yàn)閚ode_modules文件或依賴未正確安裝,解決步驟包括刪除node_modules和package-lock.json文件,重新運(yùn)行npm install,并根據(jù)需要安裝額外插件,若網(wǎng)絡(luò)問題導(dǎo)致安裝失敗2024-10-10