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

前端开发,最近想向全栈发展,学习 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 , 都没用,很是疑惑,提前谢过各位解疑答惑了~

阅读 5k
2 个回答

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

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")

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题