Vue2.0使用Axios實現跨域訪問
- 配置BaseUrl
在main.js中,配置下我們訪問的Url前綴:
axios.defaults.baseURL = '/api' // 開發本地代理
axios.defaults.headers.post['Contenst-Type'] = 'application/json;'
axios.defaults.headers.common['token'] = store.state.token
- 配置代理
修改config文件夾下的index.js文件,在proxyTable中加上如下代碼:
proxyTable: {
'/api': { //代理地址
target: 'http://xxx.xxx.xxx.xxx:8088', //需要代理的地址, 實際生產環境需要訪問的地址
changeOrigin: true, //是否跨域
secure: false,
pathRewrite: {
'^/api': '/' //本身的接口地址沒有 '/api' 這種通用前綴,所以要rewrite,如果本身有則去掉
}
}
},
- 修改請求Url
this.$axios.get("/test/test123")
.then(res=>{
console.log(res)
})
.catch(err=>{
console.log(err)
})
給url加上了前綴/api,我們訪問"/test/test123"就當於訪問了:localhost:8080/api/test/test123