【问题标题】:undefined error in express js sessionexpress js会话中的未定义错误
【发布时间】:2014-05-29 01:07:11
【问题描述】:

我想在会话参数中保存数据。

/* Modules */

/* App Settings */
// session settings
app.use(express.cookieParser());
app.use(express.session({secret: '1234567890QWERTY'}));

app.get('/', function(req,res){
if(req.session.param){
    console.log('OK!');
}else{
    console.log('not found session data');
}
});

app.listen(app.get('port'));

当我运行这段代码时

TypeError: Cannot read property 'param' of undefined
at C:\Users\frknbasaran\campusca\app.js:25:16

提前致谢

除非您按以下顺序拥有这 3 个,否则会话将无法工作:

app.use(express.cookieParser());
app.use(express.session({secret: '1234567890QWERTY'}));
app.use(app.router);

【问题讨论】:

  • 听起来像 req.sessionundefined
  • 当你没有设置这样的键时,为什么会话会有一个param 键? req.session 保存会话数据,req.params 是别的吗?
  • 你检查过这个问题吗? :stackoverflow.com/questions/10191692/…
  • @Matias 谢谢你!我用这些步骤解决了我的问题除非您按以下顺序使用这 3 个,否则会话将无法工作:app.use(express.cookieParser()); app.use(express.session({secret: '1234567890QWERTY'})); app.use(app.router);

标签: javascript node.js session express


【解决方案1】:

除非您按以下顺序拥有这 3 个,否则会话将无法工作:

app.use(express.cookieParser());
app.use(express.session({secret: '1234567890QWERTY'}));
app.use(app.router);

【讨论】:

    【解决方案2】:

    你不能设置 req.session.params,因为它的 req.session 是无的。 cookieSession 怎么样。那应该给你 req.session http://expressjs.com/3x/api.html#cookieSession

    【讨论】:

      【解决方案3】:

      您需要先设置它...我在您的代码中没有看到这个,例如:

      req.session.param = "Hello World";
      

      除非param是指请求对象自带的属性,只有url变量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-07
        • 1970-01-01
        • 1970-01-01
        • 2015-03-06
        • 2011-10-27
        • 2018-10-27
        • 1970-01-01
        相关资源
        最近更新 更多