我在浏览时遇到问题。我正在使用connect-flash。
有我的配置
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的新手,请原谅我,如果这是一个愚蠢的问题。
答案 0 :(得分:2)
也许您在将Flash数据传递给req.session.destroy()
之前调用了res.locals
?
答案 1 :(得分:0)
查看this链接。您似乎必须在配置您的快速服务器时指定它。
答案 2 :(得分:0)
尝试使用Redirect
而不是render
。
例如。
res.redirect('session/new');