该要点应回答您的问题:
https://gist.github.com/raddeus/11061808
在您的应用程序安装文件中:
app.use(flash());
在设置会话和cookie解析器之后,将其正确放置。这实际上是使用Flash所需要的。
您正在使用:
req.flash('signupMessage', anyValue);重定向到/ signup之前,对吗?
这是我目前用于个人网站的一个有趣的小花絮(在我的主应用程序文件中):
app.use(function(req, res, next){ res.locals.success_messages = req.flash('success_messages'); res.locals.error_messages = req.flash('error_messages'); next();});现在,每个视图都可以访问您刷新的任何错误或成功消息。对我来说效果很好。
最后一件事(这很挑剔,但您可能会学到一些知识)。如果您更改:
<% if (message.length > 0) { %>至:
<% if (message) { %>它将以相同的方式工作,但是如果未定义消息,则不会失败。在javascript中,未定义和空字符串均被视为“虚假”值。
编辑:我的cookie /会话/ flash设置如下:
app.use(cookieParser('secretString'));app.use(session({cookie: { maxAge: 60000 }}));app.use(flash());也许看到您的应用程序设置代码会有所帮助。另请注意,在Express 4中不再需要使用app.configure。
最终编辑:https :
//gist.github.com/raddeus/11061808
那是一个可行的例子。运行该应用程序后转到localhost:3000,您应该会
['it worked']在屏幕上看到。



