500:尝试在expressjs中设置会话变量时键入错误

时间:2012-01-28 04:58:42

标签: session express

我正在尝试学习如何使用快递会话。我将以下内容添加到app.js文件的底部,该文件带有express:

app.use(express.cookieParser());
app.use(express.session({ secret:"string"}));

// Routes
app.get('/', function(req, res){
  req.session.visitCount = req.session.visitCount ? req.session.visitCount + 1 : 1;
  res.send('You have visited this page ' + req.session.visitCount + ' times');
});

但是,当我运行节点app.js时,我收到此错误:

500 TypeError: Cannot set property 'visitCount' of undefined

有人能告诉我语法是否正确吗?

1 个答案:

答案 0 :(得分:4)

我找到了答案! how to use sessions in express, couchDB, and node.js

“如果您在设置cookie和会话处理的行之前正在进行app.use(app.router),请尝试将其移至它们之后。这为我解决了同样的问题。”

由于app.use(app.router)在configure函数中,我不得不将两个app.use行移动到configure函数的顶部。