刷新后 express-flash 消息为空
express-flash messages are empty after refresh
express-flash 模块无法正常工作。当我添加一条消息时,在下一页刷新时它是空的。
这是我的一部分 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');
};
当我多次刷新页面时,日志输出总是一个空数组。
express-flash
扩展了 connect-flash
,因此您不需要重定向(或新页面加载)就可以使用快闪消息。
它通过修补 res.render()
来检索所有 flash 消息,因此它们可以作为 messages
在您的模板中使用。
但是,在检索所有闪信后,消息列表将被清空,因为假定它们在检索时就已被使用。这就是 connect-flash
的工作原理。
因此在您的登录处理程序中调用 res.render
后,消息列表将为空。
在页面重新加载时保持闪现消息列表的实现并非易事,因为您必须确定是重新加载还是 "normal" 页面加载。
express-flash 模块无法正常工作。当我添加一条消息时,在下一页刷新时它是空的。
这是我的一部分 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');
};
当我多次刷新页面时,日志输出总是一个空数组。
express-flash
扩展了 connect-flash
,因此您不需要重定向(或新页面加载)就可以使用快闪消息。
它通过修补 res.render()
来检索所有 flash 消息,因此它们可以作为 messages
在您的模板中使用。
但是,在检索所有闪信后,消息列表将被清空,因为假定它们在检索时就已被使用。这就是 connect-flash
的工作原理。
因此在您的登录处理程序中调用 res.render
后,消息列表将为空。
在页面重新加载时保持闪现消息列表的实现并非易事,因为您必须确定是重新加载还是 "normal" 页面加载。