📜  使用 connect flash - Javascript (1)

📅  最后修改于: 2023-12-03 15:36:27.068000             🧑  作者: Mango

使用 connect-flash - Javascript

简介

connect-flash 是一个 Connect/Express 中间件,用于在用户请求之间存储脚本的消息。这个消息在下次请求中被展示给用户(通常是作为重定向)。

安装

使用 npm 进行安装

npm install connect-flash --save
使用
中间件

使用 connect-flash 需要中间件,可以将其包含在 Express 应用中:

const flash = require('connect-flash');
const app = express();

app.use(flash());
存储消息

可以使用 req.flash() 存储消息。第一个参数是消息类型,第二个参数是要传递的消息:

app.post('/login', (req, res) => {
    // 登录逻辑
    req.flash('success', '登录成功');
    res.redirect('/');
});
获取消息

可以使用 req.flash() 获取消息。第一个参数是消息类型,这个参数是可选的。如果没有指定消息类型,则 req.flash() 将返回所有数据。

app.get('/', (req, res) => {
    const successMsg = req.flash('success');
    res.render('index', { successMsg });
});
模板中使用

可以在模板中使用 connect-flash。这种情况下,可以只传递消息类型,模板引擎将自动获取与该类型匹配的消息。

<% if (locals.success) { %>
    <div class="alert alert-success"><%= locals.success %></div>
<% } %>
示例代码
存储消息
app.post('/login', (req, res) => {
    req.flash('success', '登录成功');
    res.redirect('/');
});
获取消息
app.get('/', (req, res) => {
    const successMsg = req.flash('success');
    res.render('index', { successMsg });
});
模板中使用
<% if (locals.success) { %>
    <div class="alert alert-success"><%= locals.success %></div>
<% } %>
总结

connect-flash 是一个便捷的中间件,可以让你轻松地在用户请求之间传递消息。使用它可以简化应用程序的逻辑,使开发过程更加容易。