-
-
Save raddeus/11061808 to your computer and use it in GitHub Desktop.
var express = require('express'); | |
var session = require('express-session'); | |
var cookieParser = require('cookie-parser'); | |
var flash = require('connect-flash'); | |
var app = express(); | |
app.use(cookieParser('secret')); | |
app.use(session({cookie: { maxAge: 60000 }})); | |
app.use(flash()); | |
app.all('/', function(req, res){ | |
req.flash('test', 'it worked'); | |
res.redirect('/test') | |
}); | |
app.all('/test', function(req, res){ | |
res.send(JSON.stringify(req.flash('test'))); | |
}); | |
app.listen(3000); | |
module.exports = app; |
{ | |
"dependencies": { | |
"express": "^4.0.0", | |
"express-session": "^1.0.2", | |
"cookie-parser": "^1.0.1", | |
"connect-flash": "^0.1.1" | |
} | |
} |
excellent.
ty sir
Thanks :)
awesome dude thanks
So helpful. Thank you.
beautiful.
Thanks.
Thank you. Why does req.flash(messageName_string) return an array?
thank you very much ! i found solution after 1 hr searching with my problem.
When I pass the message to an ejs file it returns an empty array. Whats the problem?
hi @raddeus. why i must use connect-flash, when i can send message with res.render()?
res.render('path/to/view', { message: 'this is a warning message' })
@MJB-Khorasani - Flash messaging is useful when you want to show a message on a subsequent request. For example, a user tries to delete a resource, but does not have permission. Rather than showing the resources view from the delete route, you would redirect the user back to the resource view with a message stating that they do not have permission. To do this you have to store that message in the session and clear that session when the message is displayed (often on every request, with a classic server-rendered application).
thanks
What is the front end code sir ?
@thinhbg My front ent is this (in Pug using bootstrap):
.row.justify-content-center
#messages.col-12
if messages.test
each message in messages.test
div.alert-message(class="alert alert-success alert-dismissible fade show" role="alert")=message
button(type="button" class="close" data-dismiss="alert" aria-label="Close")
span(aria-hidden="true") ×
But in this gist, the code redirect to a JSON output of the req.flash('test')
so no front-end needed. But my Pug snippet here, will show the each message of "test". But only if you change the app.all('/test')
render function.
Thank you. Why does req.flash(messageName_string) return an array?
Hlw,
I am facing same error .
Have you get any solution .Please help me to get the solution .
Thank you, this example helped me.