【发布时间】:2018-06-30 06:09:14
【问题描述】:
我在 NodeJs 脚本上方的会话中保存一些内容时遇到了问题。如果我启动脚本并像这样进行登录后:
app.post('/login', function(req, res) {
sess = req.session;
sess.key = "SecureKEy";
console.log(sess);
});
我得到了我想要的东西:
会话 { 曲奇饼: { 小路: '/', _expires:空, 原始最大年龄:空, httpOnly: 真 }, 密钥:'SecureKEY' }
但是,如果我使用此代码重新加载页面,则 session.key 为空。就像它没有保存一样。
app.get('/', function(req, res) {
sess = req.session;
console.log(sess);
res.sendFile(__dirname+'/wwwroot/index.html');
});
我的快速会话配置是这样的:
const session = require('express-session');
app.use(session({
secret: 'importent',
resave: true,
saveUninitialized: true
}));
【问题讨论】:
-
总是声明变量!
-
sess 将在全球范围内发布
-
这是一个设计错误。您无法在请求处理程序之外访问会话。
-
抱歉,我哪里弄错了?
标签: javascript node.js express session