快速闪光模块无法正常工作。添加消息时,下一页刷新时消息为空。
这是我的app.js的一部分:
var flash = require('express-flash');
var session = require('express-session');
app.use(session({
secret: 'keyboard ctrl',
resave: false,
saveUninitialized: true,
cookie: { maxAge: 60000 }
}))
app.use(flash());
app.get( '/', login);
这是在我的登录模块中
exports.login = function(req, res){
console.log(req.flash('error'));
req.flash('error','Test errors!');
res.render('user_login');
};
当我多次刷新页面时,日志输出始终是一个空数组。
答案 0 :(得分:1)
express-flash
扩展了connect-flash
,因此在Flash消息可用之前,您不需要重定向(或新页面加载)。
它通过修补res.render()
来检索所有即时消息来实现,因此它们可以在模板中以messages
的形式使用。
但是,在检索所有Flash消息之后,将清空消息列表,因为假定在检索消息时会使用它们。 connect-flash
就是这样工作的。
因此,在您的登录处理程序中调用res.render
之后,消息列表将为空。
要在整个页面重新加载之间保留Flash消息列表并不是一件容易的事,因为您必须确定是重新加载还是“正常”页面加载。