【发布时间】:2016-11-12 08:46:54
【问题描述】:
在我重新加载或移动到另一个页面之前,console.log(req.session) 会准确打印我保存的值,但它不再是了。我尝试了 req.session.save()、req.session.regenerate({..}) 或同时使用了 .save() 和 .reload()。我不明白为什么会发生。我正在为这 6 个小时而苦苦挣扎。
app.js
var session = require('express-session');
app.use(session({
cookie: {
maxAge:30 * 60 * 1000,
expires: 30* 60 * 1000,
httpOnly: true
},
rolling: true,
resave: true,
saveUninitialized: true,
secret: '~~~~~'
}));
路由/index.js
router.get('/', function(req, res, next) {
req.session.test = true;
req.session.save();
console.log(req.session);
res.render('index');
});
router.get('/reg', function(req, res){
console.log(req.session);
res.render('another');
}
当我访问 'localhost:3000' 时,控制台会这样打印
Session {
cookie:
{ path: '/',
_expires: 1800000,
originalMaxAge: 1800000,
httpOnly: true },
test: true }
但是如果我去'localhost:3000/reg',它就消失了。
Session {
cookie:
{ path: '/',
_expires: 1800000,
originalMaxAge: 1800000,
httpOnly: true } }
包版本
- “快递”:“~4.13.1”,
- “快速会话”:“^1.14.0”
【问题讨论】:
标签: javascript node.js session express express-session