0

所以我在我的控制器方法中设置我的闪存消息,如下所示:req.flash('info', 'flash is working')然后我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 对象,但第二个请求也返回空

4

1 回答 1

0

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

于 2017-12-30T13:11:32.627 回答