req.flash()返回app.js中的空对象,但在控制器方法

时间:2017-12-22 15:29:39

标签: javascript express connect-flash

所以我在我的控制器方法中设置我的flash消息,如下所示:req.flash('info', 'flash is working')然后在控制器中设置i console.log(req.flash())以查看它是否有效。然后在我的app.js文件中,我只是将它传递给res.locals,以便我可以在我的模板中使用它,但是我收到了一个空对象,所以我在中间件中进行控制,以分配res.locals,它是也在那里空着。为什么会这样?

app.use((req, res, next) => {
 res.locals.flashes = req.flash();
 res.locals.h = helpers;
 console.log(req.flash());
 next();
});

顺便说一下,我知道第一个请求应该返回空的flash对象,但第二个请求也返回空

1 个答案:

答案 0 :(得分:0)

好吧,我对需要会话模块的顺序犯了一个愚蠢的错误,因为会话不能正常工作,我得到一个空对象作为响应,因为flash消息并没有真正存储在会话中。修复模块的顺序为我修复了它。