CNode

【已解决】求助! req.session

Zznx5858发布于12 年前最后回复12 年前3 回复10323 浏览0 收藏

在写 Node.js 开发指南中的例子, 当要往 MongoDM 中存放新用户时,报错:

TypeError: Cannot set property 'user' of undefined

代码中指向这行:

req.session.user = newUser; 

app.js 中,中间件是这样设置的:

app.configure(function(){ 
 app.set('views', __dirname + '/views'); 
 app.set('view engine', 'ejs'); 
 app.use(express.bodyParser()); 
 app.use(express.methodOverride()); 
 app.use(express.cookieParser()); 
 app.use(express.session({ 
 secret: settings.cookieSecret, 
  store: new MongoStore({ 
   db: settings.db 
  }) 
 })); 
 app.use(app.router); 
 //app.use(express.router(routes))
 app.use(express.static(__dirname + '/public')); 
});

看起来像 session 中间件没有配对,但是又不知道哪里出了问题,求助!

查看回复

回复 (3)

U
usherwong#1·12 年前
console.log(newUser);//undefined

是这样吗

Z
znx5858#2·12 年前
引用 usherwongconsole.log(newUser);//undefined 是这样吗

已经解决了.

app.use(express.session({ 
 secret: settings.cookieSecret, 
  store: new MongoStore({ 
   db: settings.db 
  }) 
})); 

要写在

app.use(app.router); 

之前.

G
golbz#3·12 年前

我也碰到这个问题了, 原来真是顺序的问题, 谢谢楼主

参与回复
登录后即可参与回复。登录