node.js - 不知道如何使用 session-express 保存会话
node.js - Can't figure out how to sabe sessions with session-express
我是 node.js 和会话的新手,我试图在 node.js 会话中存储一些值,但每次我重新加载页面并检查 console.log会话尚未保存。我的代码:
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();
}
基本上我想要的是,当用户第一次加载页面时,他可以输入一个组织,当他这样做时,这个组织保存在会话中,所以当他重新加载页面时,该组织已被选中。
我知道我一定是做错了什么and/or 糟糕的编码,但我就是想不通。
谢谢!
调用 session.save()
似乎没有达到您的预期。除非路由完全处理,否则 Express 不会写入会话。您可能需要在 get 函数结束时调用 res.end()
。
看看 https://github.com/expressjs/session#reqsession 并尝试理解该示例中的每一行代码。
祝你好运!
原来问题是我的会话将在 20 秒后到期。傻我。
我是 node.js 和会话的新手,我试图在 node.js 会话中存储一些值,但每次我重新加载页面并检查 console.log会话尚未保存。我的代码:
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();
}
基本上我想要的是,当用户第一次加载页面时,他可以输入一个组织,当他这样做时,这个组织保存在会话中,所以当他重新加载页面时,该组织已被选中。
我知道我一定是做错了什么and/or 糟糕的编码,但我就是想不通。
谢谢!
调用 session.save()
似乎没有达到您的预期。除非路由完全处理,否则 Express 不会写入会话。您可能需要在 get 函数结束时调用 res.end()
。
看看 https://github.com/expressjs/session#reqsession 并尝试理解该示例中的每一行代码。
祝你好运!
原来问题是我的会话将在 20 秒后到期。傻我。