一、技术概述
现在项目都是前后端分离开发,在发送请求时有可能会出现跨域问题.跨域问题的产生原因很多,可能是域名不同,或者是域名相同但是接口不同等.最好的解决方法就是后端更改header,但是有的时候这样的方法还是会出现跨域问题,这时候就可以通过vue-cli中的配置来解决跨域问题.
二、技术详述
使用http-proxy-middleware 代理解决(项目使用vue-cli脚手架搭建)
打开config/index.js,在proxyTable中添写如下代码:
'/api': {
target:'http://129.204.247.165/',
changeOrigin:true,
pathRewrite:{
'^/api': ''
}
}
},
main.js里面加入:
import axios from 'axios'
Vue.prototype.$axios = axios
使用axios:
method: 'post',
url: '/api/posts/gethotbystatus',
data:qs.stringify({
day:20,
status:0
}),
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
}).then(function (res) {}