flash方法在express 3.X的时候分离出去了,现在使用需要引用connect-flash模块,且只能放在session模块引用下面。
使用时先设置session,然后在路由前设置flash,
//设置session
app.use(session({
secret: settings.cookieSecret,
store: new MongoStore({
db: settings.db
}),
resave: false,
saveUninitialized: true
}));
//设置flash,这步要在路由之前
app.use(flash());
//此时设置路由
app.use('/', index);
app.use('/users', users);
app.use('/reg', reg);
然后就可以在子页面js里面使用了,使用时flash的信息是作为一次性变量,取出即删除,所以实现了只加载一次的效果。
在index.js里面设置
router.get('/',function (req,res,next) {
res.render('reg',{title: 'Title',error:req.flash('error')});
})
此时在另外的请求里面设置req.flash(‘error’,error msg)就行了