gpt4 book ai didi

javascript - Flash 消息未显示在页面重定向上

转载 作者:太空宇宙 更新时间:2023-11-04 01:27:28 24 4
gpt4 key购买 nike

我正在使用nodejs服务器和mysql数据库。成功添加新行后,我将填充闪现消息成功变量,如下所示:

req.flash('success','New parts has been added to the database')

我还设置了一个 Flash 消息中间件,如下所示:

//设置flash中间件:

app.use(function(req,res,next){
res.locals.error=req.flash("error");
res.locals.success=req.flash("success");
next()
})

我认为填充 res.locals 将允许我检索所有 ejs 模板中的变量,而不必自己手动将其发送到模板:

router.get("/", (req, res) => {
res.render("home",{success:req.flash('success')})
})

我已尝试执行这两项操作,但我在模板中仍然没有看到任何 Flash 消息:

<% if(success && success.length >0){ %>
<div class="flash">
<div class="color red"></div>
<span class="text"> <p><%=success%></p></span>
<div class="close">
<span></span>
</div>
</div>
<% } %>

最佳答案

自从我在 Node.JS 中使用 flash 以来已经有一段时间了,但是如果您创建一个像“/redirect”这样的中间路由来设置 flash 成功消息,然后立即重定向回您的根路由,会怎么样?

app.get('/redirect', function(req, res){
req.flash('success','New parts has been added to the database')
res.redirect('/');
});

然后更新您的 View 以检查是否成功

<% if(success){ %>

关于javascript - Flash 消息未显示在页面重定向上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57021551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com