繁体   English   中英

如何在 Node.JS 中呈现 flash 消息?

[英]How to render flash message in Node.JS?

我正在尝试显示 flash 消息而不渲染,只需重定向。 如果是怎么可能呢?

const session = require('express-session');
const bodyParser = require('body-parser')
const urlencoded = bodyParser.urlencoded({extended:false})
const cookieParser = require('cookie-parser');

const flash = require('connect-flash');
app.use(cookieParser('secret'));
app.use(session({
  secret: 'keyboardSecrIncKey',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: true, maxAge: 60000 }
}))

app.use(flash());

app.use('/test',urlencoded,(req,res,next)=>{
  if(req.body.name == ''){
    req.flash('info', 'Please Enter Your Name.');
    res.locals.message = req.flash();
    console.log(res.locals)
    res.redirect('back')
  }
  else{
    next()
  }
});

我正在使用车把视图引擎。 这是我的 test.handlebars 文件:

{{#if messages}}
 It is working
{{/if}}

但它不会显示任何文本。 如果我使用res.render('test', {...})它正在工作。 但是当我单击刷新按钮时,浏览器会向我发送警报(确认重新提交等)

当您重定向时,您告诉用户的浏览器显示其他页面。 您将在该页面中显示您的 flash 消息,而不是在使用req.flash()创建 flash 消息的页面中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM