For me, I use the following code to display a flash message:
In app.js
app.use(function (req, res, next) { req.session.message = req.session.message || { error: [], success: [], info: [] }; app.locals.message = req.session.message; }
In your user.js route:
app.post('/users/new', function (req, res, next) { //... // do some work req.session.message.info.push('Account created successfully'); res.redirect('/login'); });
Then create message.jade so you can be included in other views:
In message.jade
- var i - if (message.error && message.error.length) .alert.alert-warning.alert-dismissable button.close(type="button", data-dismiss="alert", aria-hidden="true") × - for (i = 0; i < message.error.length; i++) .center!= message.error[i] - if (message.info && message.info.length) .alert.alert-info.alert-dismissable button.close(type="button", data-dismiss="alert", aria-hidden="true") × - for (i = 0; i < message.info.length; i++) .center!= message.info[i] - message.info = message.error = [] // REMEMBER to reset messages to an empty array
source share