vue开发,npm run dev是localhost:8080
php本身又是另外一个本地站点
2个不在同一个域下,我没有使用原始的所有请求携带cookie的模式,用的是axios给headers添加token的方式。每次请求php的接口相当于都是跨域,任何一个get或者post,总是2次请求(第一次先是OPTIONS,第二次才是正式的)好麻烦。当然前端项目发布后,拷贝到php站点下,就是同域了,不存在这个问题。但是开发环境不同域,怎么才能方便的统一开发啊?
解决办法:
vuejs-template早就考虑了这个问题,解决的办法就是将需要需要访问后台的请求通过前端的dev server都转发到后台服务器,这样所有的请求都是请求的前端开发服务器,就不存在跨域的问题了。
如果你用的是vue-cli来构造的前端,直接修改config/index.js,设置proxyTable就可以了:
// config/index.js
module.exports = {
// ...
dev: {
proxyTable: {
// proxy all requests starting with /api to jsonplaceholder
'/api': {
target: 'http://jsonplaceholder.typicode.com',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
}
出处:https://segmentfault.com/q/1010000010387618