新手报道-NodeJS开发指南的博客
发布于 10 年前 作者 kingsearcher 4743 次浏览 最后一次编辑是 8 年前

终于搞定一大半了,完全没按照书上的思路走。书上的路一走一个死,req,flash()这个东西还是无法使用,求解释。

“express”: “~3.4.8”, “static-favicon”: “~1.0.0”, “morgan”: “~1.0.0”, “cookie-parser”: “~1.0.1”, “body-parser”: “~1.0.0”, “debug”: “~0.7.4”, “ejs”: “~0.8.5”

这是各个的版本号,数据库我用的Mysql

5 回复

说一个我做的时候碰到flash不能用的情况吧:

app.set('view engine', 'ejs');
app.use(flash());

flash这个middleware 必须放在view engine后面,之后跟body parse什么的

当然最重要的是,dependencies里面别忘了

"connect-flash": "*"

已经安装了connect-flash,添加了app.use(flash())

index.ejs里面是 req.flash(“error”,“错误”); 通过res.locals.error=req.flash(“error”)什么出来的都没值; 如果是res.locals.error="错误"就能行,显示的是什么 req.flash.什么 session

编码问题吗? 把错误这个中文换成error英文试试

还是不行,我应该知道什么原因了,index里面的,res.render(“index”,{ title:“xxxx”, error:这个地方应该有个初始值吧? })

谢谢了哈

   res.render('index', {
            title: 'Home Page',
            user: req.session.user,
            posts: posts,
            success: req.flash('success').toString(),
            error: req.flash('error').toString()
        });
回到顶部