最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue如何解決跨域問題詳解

 更新時間:2022年02月23日 10:41:56   作者:南獨酌酒nvn  
VUE訪問接口的時候,很可能出現(xiàn)跨域請求,從而被提供接口的服務(wù)器拒絕,下面這篇文章主要給大家介紹了關(guān)于Vue如何解決跨域問題的相關(guān)資料,需要的朋友可以參考下

什么是跨域

跨域指瀏覽器不允許當(dāng)前頁面的所在的源去請求另一個源的數(shù)據(jù)。源指協(xié)議,端口,域名。只要這個3個中有一個不同就是跨域。 這里列舉一個經(jīng)典的列子:

#協(xié)議跨域
http://a.baidu.com訪問https://a.baidu.com;
#端口跨域
http://a.baidu.com:8080訪問http://a.baidu.com:80;
#域名跨域
http://a.baidu.com訪問http://b.baidu.com;

通常在不同服務(wù)器訪問過程中可能會遇到跨域問題,也就是口頭上常說的策略同源問題 CORS

出現(xiàn)跨越一般就是判斷三個地方,http協(xié)議,請求地址,端口號,三者若有一處不相同,那么就會出現(xiàn)跨域,解決這個問題就要配置一個代理服務(wù)器,通過代理服務(wù)器實現(xiàn)跨域請求

解決跨域的情況一般就是如下圖:

Vue 中配置跨域的配置在 vue.config.js 文件中添加:

配置一個的寫法

module.exports = {
  devServer: {
    proxy: 'http://localhost:5000' // 配置訪問的服務(wù)器地址
  }
}

配置多個的寫法

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:5000', // 配置訪問的服務(wù)器地址
        pathRewrite: { '^/api': '' },  // 用于將請求中的 /api 字符串替換為空, 然后訪問地址就能正確訪問,若不添加此行配置,那么訪問地址就變成了: http://localhost:5000/api/request_url,這樣的請求就會出現(xiàn) 404 操作
        ws: true, // 是否支持 webstocket, 默認(rèn)是 true
        changeOrigin: true // 用于控制請求頭中的 host 值, 默認(rèn)是 ture
      },
      '/api2': {
        target: 'http://localhost:6000', // 配置訪問的服務(wù)器地址
        pathRewrite: { '^/api2': '' },  // 用于將請求中的 /api2 字符串替換為空, 然后訪問地址就能正確訪問,若不添加此行配置,那么訪問地址就變成了: http://localhost:6000/api/request_url,這樣的請求就會出現(xiàn) 404 操作
        ws: true, // 是否支持 webstocket, 默認(rèn)是 true
        changeOrigin: true // 用于控制請求頭中的 host 值, 默認(rèn)是 ture
      }
    }
  }
}

添加完代理服務(wù)器的相關(guān)配置,就需要通過 ajax 請求訪問服務(wù)器了,一般 vue 中使用的都是 axios 庫,這里就以 axios 庫為例子:

安裝 axios

npm i axios

使用 axios

// 引入 axios 庫
import axios from 'axios'
export default {
	name: 'Student', // 組件名稱
	// 組件使用的方法
	methods: {
		注釋內(nèi)容 `:get 請求訪問 /api 前綴開頭的地址,實際上訪問的地址是: http://localhost:5000/request_url`
		test1() {
			axios.get('http://localhost:8080/api/request_url').then(res => {
				console.log(res.data); // 輸出請求響應(yīng)值內(nèi)容
			});
		},
		注釋內(nèi)容 :`get 請求訪問 /api2 前端開頭的地址,實際上訪問的地址是:http://localhost:6000/request_url`
		test2() {
			axios.get('http://localhost:8080/api2/request_url').then(res => {
				console.log(res.data); // 輸出請求響應(yīng)值內(nèi)容
			})
		}
	}	
}

總結(jié)

到此這篇關(guān)于Vue如何解決跨域問題的文章就介紹到這了,更多相關(guān)Vue解決跨域問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

乡宁县| 东阿县| 巫溪县| 华坪县| 庆云县| 阜宁县| 九江县| 西畴县| 朝阳县| 金坛市| 手游| 云和县| 南澳县| 喀喇| 余干县| 武川县| 体育| 商洛市| 宁陕县| 桂平市| 长沙县| 石台县| 阿合奇县| 抚顺县| 淳化县| 新丰县| 长治县| 枣阳市| 文安县| 岐山县| 内江市| 大渡口区| 中江县| 高要市| 左云县| 武鸣县| 浙江省| 罗江县| 家居| 玉环县| 青州市|