javascript - node.js - 无法弄清楚如何使用 session-express 保存 session

标签 javascript node.js session express express-session

我是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/

相关文章:

javascript - 在子函数中引用 parent(this) 是不好的做法吗?

javascript - 加号获得下一个日期的日期中的天数(不包括周末)

javascript - Node.js如何安装learnyounode?

node.js - 快速 session 安全 : true

php - 如何使用 session 传递错误

javascript - 如何在html中按下回车键时调用javascript函数

JavaScript:检测 AJAX 请求

javascript - passport-local-mongoose 错误消息更改

node.js - NPM 请求 - 获取 TLS 版本

ios - 从 iOS SDK 更改帖子默认受众