当前位置 : 主页 > 网页制作 > Nodejs >

node.js – 在express 3.x中重定向后显示flash

来源:互联网 收集:自由互联 发布时间:2021-06-16
我知道req.flash()已从express 3.x( source)中删除,建议直接使用req.session(即req.session.messages). 这不是问题,但是我很难弄清楚重定向后如何在布局中显示这些信息.我尝试过类似的东西 app.locals.
我知道req.flash()已从express 3.x( source)中删除,建议直接使用req.session(即req.session.messages).

这不是问题,但是我很难弄清楚重定向后如何在布局中显示这些信息.我尝试过类似的东西

app.locals.messages = function() { return req.session.messages };

但我们显然无法访问req对象.

如何在重定向后显示req.session.messages的内容?

做就是了:

app.use(/* my session middleware */)
app.use(function(req, res, next) {
  res.locals.messages = req.session.messages
  next()
})

并且您将始终在视图中显示消息.它真的不必再复杂了.

如果需要,您可以添加自己的闪光功能.

app.use(function(req, res, next) {
  var session = req.session;
  var messages = session.messages || (session.messages = []);

  req.flash = function(type, message) {
    messages.push([type, message])
  }

  next()
})

在您的视图中,只需执行message = messages.pop().

网友评论