3

我在视图中遇到闪光灯问题。我正在使用连接闪存。

有我的配置

app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('secret'));
app.use(express.session());
app.use(passport.initialize());
app.use(passport.session());
app.use(flash());
app.use(function(req, res, next){
  res.locals.flash = req.flash
  next()
})

在这里,我在控制器操作中设置了 Flash 消息

exports.new = function(req, res){
  req.flash('info', 'test')

  res.render("session/new", {
    title: 'Log In!'
  })
}

然后,当我尝试在视图中使用 flash('info') 时,出现此错误

req.flash() 需要会话

我是nodejs的新手,如果这是个愚蠢的问题,请原谅。

4

3 回答 3

2

也许您req.session.destroy()在将闪存数据传递给之前调用了res.locals?!

于 2014-02-12T20:40:39.370 回答
0

看看这个链接。似乎您必须在配置快速服务器时指定它。

于 2013-10-03T20:42:44.563 回答
0

尝试Redirect代替render.

前任。

res.redirect('session/new');
于 2019-03-03T21:02:51.760 回答