node.js - req.flash() 需要 session

标签 node.js express

我在观看时遇到闪光灯问题。我正在使用连接闪存。

这是我的配置

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()
})

这里我在 Controller 操作时设置了闪现消息

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

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

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

req.flash() requires sessions

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

最佳答案

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

关于node.js - req.flash() 需要 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19168355/

相关文章:

node.js - 如何解决平台 flutter 不允许的不安全http?

node.js - 在单独的线程 Node Js 中运行长时间运行的快速 API 进程

express - 如何在 Express.js 中访问发布请求的原始正文?

javascript - 为node保存sqlite3包的结果

node.js - 如何在每天凌晨 12 点设置 Node 时间表

javascript - 在带有 Redux 的 React Native 中使用 NetInfo 中间件

javascript - 如何使用 Nodejs 中的 Agenda 在未来的某个日期时间运行类似 cron 的作业

node.js - Nodejs 中的处理程序响应

javascript - NodeJS - 如果条件为真,则发送 200 状态代码 2 次

javascript - react 路由器参数化路由 : SyntaxError: expected expression, 得到 '<'