您好,登錄后才能下訂單哦!
首先npm安裝好axios,其次在main.js中引入:
import axios from 'axios'
Vue.prototype.$axios = axios //把a(bǔ)xios掛載到vue的原型中,在vue中每個(gè)組件都可以使用axios發(fā)送請(qǐng)求
Vue.prototype.HOME = '/api' //重要在于這里,Vue.prototype.HOME = '/api'是一個(gè)定值,默認(rèn)指向localhost,所有修改指向路徑為'/api',配置文件index.js定義的可跨域路徑
第二步就是修改上述所說的config>index.js配置文件
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: { //axios跨域處理
'/api': { //此處并非和url一致
target:'http://192.168.2.80:8081/',
changeOrigin:true, //允許跨域
pathRewrite:{
'^/api': ''
}
}
}
}
....以下省略
}
最后就是在需要跨域的文件中操作了:
created() {
var url = this.HOME + '/index***ds/getFe***List'; //HOME變量為已掛載的可跨域域名,這里將其拼接完,成為一個(gè)完整路徑
this.$axios({ //this代表vue對(duì)象,之前在入口文件中把a(bǔ)xios掛載到了vue中,所以這里直接用this.$axios調(diào)用axios對(duì)象
method: 'post',
url: url,
data: {feedType: 1, page: 1, pagesize: 10}
}).then(function (res) {
console.log(res);
}).catch(function (err) {
console.log(err);
})
},
這樣就可以成功跨域,拿到后臺(tái)返回的數(shù)據(jù)了。
需要注意的是:在Vue項(xiàng)目中如果我們修改了config里面的文件,請(qǐng)千萬要重新啟動(dòng)項(xiàng)目,重新啟動(dòng)項(xiàng)目,重新啟動(dòng)項(xiàng)目,不然一定會(huì)報(bào)錯(cuò)。
當(dāng)然,這只是在本地可以正??缬蛟L問接口,線上的話,還需要和后臺(tái)協(xié)商處理
升級(jí)到 Vue3 后,會(huì)發(fā)現(xiàn) Vue2 中存放配置的 config 文件夾沒有了,大家不要慌張??梢栽?package.json 文件的同級(jí)目錄下創(chuàng)建 vue.config.js 文件。給出該文件的基礎(chǔ)配置:
module.exports = {
outputDir: 'dist', //build輸出目錄
assetsDir: 'assets', //靜態(tài)資源目錄(js, css, img)
lintOnSave: false, //是否開啟eslint
devServer: {
open: true, //是否自動(dòng)彈出瀏覽器頁面
host: "localhost",
port: '8081',
https: false, //是否使用https協(xié)議
hotOnly: false, //是否開啟熱更新
proxy: null,
}
}
Vue3 解決跨域,內(nèi)容只有第二步配置代理 和 Vue2 不同,其他的一致。
devServer: {
open: true, //是否自動(dòng)彈出瀏覽器頁面
host: "localhost",
port: '8081',
https: false,
hotOnly: false,
proxy: {
'/api': {
target: 'https://www.v2ex.com/api', //API服務(wù)器的地址
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
},
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。