您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關vue 如何處理跨域問題,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
跨域問題的出現是因為瀏覽器的同源策略問題,所謂同源:就是兩個頁面具有相同的協議(protocol),主機(host)和端口號(port),它是瀏覽器最核心也是最基本的功能,如果沒有同源策略我們的瀏覽器將會十分的不安全,隨時都可能受到攻擊。
當,協議名,域名,端口號,三者有一個不同都會發生跨域問題
這里強調一點:發生了跨域,并不是請求沒有發送出去,它是請求發送成功了,并且服務端也給你把數據返回了,但是瀏覽器為了安全性給拒絕了。
條件允許的話可以與后端交流,后端在回應的時候加上響應頭,前端不需要任何操作就可以處理跨域
vue腳手架提供了一個很簡便的方法 :
如果你用的是cli3以上,目錄中沒有了配置文件,需要你自己在根目錄新建一個vue.config.js文件可以在里邊添加你需要的配置信息
module.exports={ pages: { index: { //入口 entry:"src/main.js", }, }, devServer: { proxy: { '/api': { target: '需要請求的url', pathRewrite:{'^/api':''}, ws: true, changeOrigin: true } } } }
它會創建一個代理服務器,代替瀏覽器去向后端請求數據,因為服務端和服務端是不存在跨域問題的。
這個代理服務器的 協議域名端口號 跟你運行項目時候的 協議域名端口號 是一樣的 你可以在請求數據的時候
使用 http://localhost:8080/api 當你在請求數據的時候加上/api 才會識別你需要處理跨域呢,不加就是訪問項目的根目錄下的相應數據
使用jsonp 但是只能處理get的請求 像post put patch 等都不能處理
關于vue 如何處理跨域問題就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。