node 后端 使用express-session , 每次刷新页面或者ajax请求后,session 就没了

发布于 2022-09-06 21:11:23 字数 1188 浏览 10 评论 0

前端开发,最近想向全栈发展,学习 vue+node+mysql, 但node 后端 使用express-session , 每次刷新页面或者ajax请求后,session 就没了。

后端node服务入口文件:

图片描述

登录页面点击登录的请求处理接口:

图片描述

刷新访问任何页面都会先读session看能否自动登录,不能的话会被置到登录页面(重置页面逻辑不在这里)

图片描述

前端vue的不同路由页面是用ajax请求方式的,后端这里暴露许多接口, 也就是说没刷新而是用ajax,这样也还是读不到刚刚登录成功后设置的session
图片描述

前端node端口 8888, 后端node端口 9999, 在webpack.config.js中已经做了代理,不知可否理解为不存在会影响session设置的跨域问题了

图片描述

多方查找,无论我把app.use(session({}))设置中 resave字段改为 false, 还是 cookie字段内加上 secure:false , 都没用,很是疑惑,提前谢过各位解疑答惑了~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雨落□心尘 2022-09-13 21:11:23

之前碰到过 好像是需要跨域授权:

res.header("Access-Control-Allow-Origin", req.headers.origin)
res.header('Access-Control-Allow-Credentials', 'true')
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")

不记得谁有用了,但是应该是这三个.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文