【发布时间】:2015-05-12 05:26:33
【问题描述】:
Express connect-flash 仅在刷新后显示。 为了便于阅读,去掉了代码。
"express": "~4.2.0",
"connect-flash": "~0.1.1",
这是我的app.js
var express = require('express'),
favicon = require('serve-favicon'),
flash = require('connect-flash');
var app = express();
app.use(cookieParser('---'));
app.use(session({
secret: '---',
saveUninitialized: true,
resave: true}));
app.use(flash());
app.use(function(req, res, next) {
res.locals.messages = req.flash();
next();
});
在我的路线中,我尝试了类似
req.flash('success', {msg: 'Sign Up Success'});
res.redirect('/me/dashboard');
我的错误显示msg.jade模板是
for msg in messages
div #{msg.msg}
我只有在刷新/重定向后才会收到消息。请让我知道我做错了什么。
我也看过this,但我认为它已经过时了
【问题讨论】:
-
你调试过 res.locals.messages = req.flash();线?注意 req.flash() 返回一个对象,而不是一个数组
-
您希望何时收到消息,flash 应该可用于要呈现的下一页。如果您需要在帖子或其他内容后立即发出通知,则需要在前端进行。
-
在第二个代码 sn-p 中,我正在设置 flash 消息并重定向到另一个页面。这行得通吗?
-
@muzk 我认为这不是问题,因为我会在下次刷新时收到消息。我错过了什么吗?
-
@rajeshujade 在我的路线中,我尝试了类似
req.flash('success', {msg: 'Sign Up Success'}); res.redirect('/me/dashboard');
标签: node.js express connect-flash