首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接-闪存中间件不工作

连接-闪存中间件不工作
EN

Stack Overflow用户
提问于 2012-11-07 08:26:31
回答 1查看 3.1K关注 0票数 0

我正在尝试在我的express3应用程序中使用connect-flash。

我成功安装了这个包:

代码语言:javascript
复制
$ npm install connect-flash

我把它包括进来了:

代码语言:javascript
复制
var flash = require('connect-flash');

设置中间件:

代码语言:javascript
复制
app.use(function(req, res, next) {
    res.locals.message = req.flash();
    next();
  });
app.use(flash());

并使用它:

代码语言:javascript
复制
app.get('/admin', function(req, res) {   
    if(loggedIn === true) {      
      res.redirect('/admin/books');
    }
    else {      
      res.render('login', {message: req.flash('error') });
    }    
  });
  app.post('/admin', function(req, res) {    
    if((adminAccount.username === getCrypted(req.body.username)) && 
      (adminAccount.password === getCrypted(req.body.password))) {

      loggedIn = true;
      res.redirect('/admin/books');
    }
    else {
      req.flash('error', 'Woops, looks like that username and password are incorrect.');
      res.redirect('/admin');
    }
  });

然而,我得到了:TypeError: Object #<IncomingMessage> has no method 'flash'。我按照它的github页面上的说明操作。我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-07 09:06:15

颠倒顺序:

代码语言:javascript
复制
app.use(flash());

app.use(function(req, res, next) {
  res.locals.message = req.flash();
  next();
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13261550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档