我是node.js和 session 的新手,我试图在node.js session 中存储一些值,但是每次我重新加载页面并检查console.log时, session 都没有被保存。我的代码:
var session;
var org;
function checkSession(argument){
var sess = argument;
if(sess.org){
return null;
}
else{
return sess.org;
}
}
/* GET home page. */
router.get('/', function(req, res, next) {
session = req.session;
var sessionChecked = checkSession(session);
if(sessionChecked){
org = sessionChecked;
}
else{
org = req.query.org || 'Google';
session.org = org;
session.save();
}
所以基本上我想要的是,当用户第一次加载页面时,他可以键入一个组织,当他这样做时,该组织将保存在 session 中,因此当他重新加载页面时,该组织已选择。
我知道我一定做了一些非常错误的事情和/或糟糕的编码,但我就是无法弄清楚这一点。
谢谢!
最佳答案
看起来调用 session.save()
没有达到您的预期。除非路线已完全处理,否则 Express 不会写入 session 。您可能需要在 get 函数末尾调用 res.end()
。
看看https://github.com/expressjs/session#reqsession并尝试理解该示例中的每一行代码。
祝你好运!
关于javascript - node.js - 无法弄清楚如何使用 session-express 保存 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32732505/