终于搞定一大半了,完全没按照书上的思路走。书上的路一走一个死,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
说一个我做的时候碰到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()
});