vue跨域的session问题
vue跨域的session问题在开发vue2项目的时候遇到了session一直被重置的问题,发现是跨域引起的,简单的说就是前端的服务和后台的服务的session不能同步起了冲突。解决方案在webpack.dev.config.js中做如下配置,原理是直接修改JSESSIONID的Path为/,使其保持一致。
·
vue跨域的session问题
在开发vue2项目的时候遇到了session一直被重置的问题,发现是跨域引起的,简单的说就是前端的服务和后台的服务的session不能同步起了冲突。
解决方案
在webpack.dev.config.js中做如下配置(主要是proxy的onProxyRes方法,其他配置仅做参考),原理是直接修改JSESSIONID的Path为/,使其保持一致。
devServer: {
contentBase: "./",
hot: true,
open: true,
compress: true,
port: 8000,
proxy: {
'/api': {
// 接口代理
target: `http://test.hz-huanshi.com/`,
changeOrigin: true,
secure: false,
pathRewrite: {
'^/api': ''
},
onProxyRes(proxyRes, req, res) {
var cookies = proxyRes.headers['set-cookie']
if (cookies == null || cookies.length == 0) {
delete proxyRes.headers['set-cookie']
return
}
for (var i = 0,n = cookies.length; i < n; i++) {
if(cookies[i].match(/^JSESSIONID=[^;]+;[\s\S]*Path=\/[^;]+/)){
cookies[i] = cookies[i].replace(/Path=\/[^;]+/,'Path=/');
}
}
proxyRes.headers['set-cookie'] = cookies;
}
},
historyApiFallback: true
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)