我已经使用Express.js搭建了一个Node.js测试服务器,代码如下:
var express = require('express');
var MemoryStore = express.session.MemoryStore;
var app = express.createServer();
app.configure(function() {
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(app.router);
app.use(express.session({
store: new MemoryStore(),
secret: 'secret',
key: 'bla'
}));
});
app.get('/', function(req, res){
console.log(req.session);
res.end("html");
});
app.listen(3000);
为什么 console.log(req.session)
输出 undefined?我使用的不正确吗?为了将变量保存到用户会话中,我需要做些什么?
客户端接收一个作为 cookie 存储的 SID,但是我不能给 req.session
分配任何属性,因为它未定义。感谢任何解决此问题的提示!:-)
以下是我正在使用的版本:
├─┬ express@2.5.9
│ ├─┬ connect@1.8.7
│ │ └── formidable@1.0.9
│ ├── mime@1.2.4
│ ├── mkdirp@0.3.0
│ └── qs@0.4.2
store: new MemoryStore()
这一行不会改变任何东西。可惜我没有另一个会话存储可以测试它是否有效。 - YMMD