1.找到文件build/webpack.dev.conf.js,查看当中的proxy值,为config.dev.proxyTable。
则说明需要去config/index.js中找到dev下的proxyTable,并进行一系列的处理。
2.打开config/index.js文件,找到dev下的proxyTable,如需跨域请求豆瓣api的接口数据。
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/douban_api': {
target: 'http://api.douban.com',
pathRewrite:{
'^/douban_api':''
},
changeOrigin:true //是否跨域
}
}
3.main.js中,引入axios模块,并给host原型赋值
import Axios from 'axios'
Vue.prototype.$axios = Axios
Vue.prototype.HOST = '/douban_api'
这时页面中this.HOST指向的就是index.js中定义的 /douban_api 了。
4.重启服务器,项目结束后重启 npm start。
配置文件每次改动后,都需要重启,否则无效。
5.此时,页面进行axios请求时,就能跨域请求到数据了。
<script>
export default {
name: "doubanAxios",
data(){
return{
doubanData:[]
}
},
created(){
var url = this.HOST + '/v2/movie/coming?apikey=0df993c66c0c636e29ecbb5344252a4a';
this.$axios({
method:'get',
url:url,
}).then(res=>{
console.log(res);
}).catch(error=>{
console.log(error);
});
}
}
</script>
网友评论