![](/img/trans.png)
[英]Node.js Authentication with Passport: How to flash a message if a field is missing?
[英]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.