javascript - NodeJs 快速 session 不保存 session

标签 javascript node.js express session

我在 NodeJs 脚本上方的 session 中保存某些内容时遇到了问题。如果我启动脚本并进行如下所示的登录后操作:

app.post('/login', function(req, res) {
   sess = req.session;
   sess.key = "SecureKEy";
   console.log(sess);
});

我得到了我想要的结果:

Session { cookie: { path: '/', _expires: null, originalMaxAge: null, httpOnly: true }, key: 'SecureKEy' }

但是如果我使用此代码重新加载页面,则 session.key 为空。就像没有保存一样。

app.get('/', function(req, res) {
   sess = req.session;
   console.log(sess);
   res.sendFile(__dirname+'/wwwroot/index.html');
});

我的快速 session 配置是这样的:

const session = require('express-session');
app.use(session({
   secret: 'importent',
   resave: true,
   saveUninitialized: true
}));

最佳答案

我已经重写了这样的代码:

app.post('/login', function(req, res) {
   console.log("Before: ");
   console.log(sess);
   sess = req.session;
   sess.key = "SecureKEy";
   req.session.save();
   console.log("After: ");
   console.log(sess);
});

这样就可以正常工作了。但是,如果我使用 res.send 重新发送登录页面, session 会自动保存吗?这是正确的吗?

关于javascript - NodeJs 快速 session 不保存 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48367558/

相关文章:

javascript - 左对齐的 div 不以某些页面大小为中心

node.js - 无法在node.js中安装karma

javascript - 将 zip 文件流转换为磁盘上的文件

javascript - 使用 node.js express 从数据库获取和处理数据

node.js - 即使在设置 sameSite :'none' 和安全 : true for a MERN stack web app 后,cookie 也不会保存在 chrome 中

javascript - 计算上传剩余时间

javascript - 重置表单但不重置隐藏元素

javascript - Material UI 抽屉中的按钮导航

javascript - 当 "npm install"退出时 "node_modules"会做什么?

javascript - Nodejs AWS Lambda 切换到另一个帐户访问权限和 key 以执行功能