var flash = require(‘connect-flash’); app.use(flash());
app.use(express.session({ secret: settings.cookieSecret, key: settings.db,//cookie name cookie: {maxAge: 1000 * 60 * 60 * 24 * 30},//30 days store: new MongoStore({ db: settings.db }) })); 这些我都加了 能自己搞定就不发贴问了…
虽然这个问题是一年前的了,还是提醒一下像我一样疏忽的新手 app.use(flash()); 这句放在app.use(express.session(…));后面。
看源码就知道为什么了
if (this.session === undefined) throw Error('req.flash() requires sessions');
楼主你好,我也遇到了这个问题,你解决了吗?问一下怎么解决,我按照楼上的方法行不通阿!
看下中间件放置的顺序,顺序会影响结果~
如果是那个博客项目的话,可能是http请求方式用成了get,改成post即可。 router.get(’/reg’, function(req, res) { res.render(‘reg’, { title: ‘注册’ }); }); router.post(’/reg’, function(req, res) { … // 这里是代码 });