Using CONNECT - FLASH
THE FLASH IS A SPECIAL AREA OF THE SESSION USED FOR STORING MESSAGES.
MESSAGES ARE WRITTEN TO THE FLASH AND CLEARED AFTER BEING DISPLAYED TO THE USER.
IT IS A MIDDLEWARE THAT SAVES AND DISPLAYS MESSAGES.
IT IS TYPICALLY USED WITH REDIRECTS.
TO INSTALL: npm i connect-flash
TO USE: app.use(flash())
WE SET A FLASH MESSAGE BY PASSING THE KEY,FOLLOWED BY THE VALUES TO REQUEST.
THE VALUE IS PASSED THROUGH KEY.
req.flash("info","flash is passed")
TO DISPLAY THE FLASH MESSAGE WE USE VIEWS.
THE FLASH IS DISPLAYED ONLY ONCE.
WHEN REFRESHED IT DISAPPEARS.
IN SERVER.JS
const flash = require("connect-flash");
const session = require("express-session");
const flash = require("connect-flash");
const path = require("path");
app.set("view engine", "ejs");
app.set("views", path.join(__dirname, "views"));
app.use(sessionOptions);
app.use(flash());
app.get("/register", (req, res) => {
let { name = "anonymous" } = req.query;
req.session.name = name;
req.flash("success", "registration successful");
res.redirect("/hello");
});
app.get("/hello", (req, res) => {
res.render("page.ejs", {
name: req.session.name,
msg: req.flash("success"),
});
});
PAGE.EJS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Registration</title>
</head>
<body>
<%=msg%>
<h2>Hello!<%= name %></h2>
</body>
</html>
AFTER REFRESHING.. THE FLASH MESSAGE DISAPPEARS.



Comments
Post a Comment