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 秒后到期。傻我。