节点 JS(快速)连接闪存无法执行重定向操作



我想知道为什么我的连接闪存不起作用。 我知道连接闪存尝试将消息保存到会话中。 所以我像这样声明会话:

app.use(session());

然后我设置闪光灯:

app.use(flash());

问题是当我使用连接闪存时,它不会在重定向操作后仅显示设置消息。

req.flash('flash_var', 'ok');
res.redirect('/mail/send');

我在"/mail/send"路由器上看不到任何消息。

app.get('/mail/send', function(req, res) {
res.render('mail/console', {
console.log("flash : "+req.flash('flash_var'); // null
message: req.flash('flash_var')
});
});

控制台消息正在打印空值,上一步似乎无法正常发送值。当然,我在ejs页面上没有看到任何"flash_var"。

我的代码有什么问题?

if(req.flash("flash_var") != ""){
flash_var = req.flash("flash_var");
console.dir("flash_var dir : "+req.flash("flash_var"));
}

您不使用req.flash('flash_name')来获取闪存消息。你要做的是req.flash()['flash_name'].在您的情况下,res.render 选项对象中的消息值将为req.flash()['flash_var']req.flash()不是单个 getter,它返回一个包含请求对象上所有闪烁的对象。使用req.flash()的另一种方法是使用两个字符串输入,就像您使用req.flash('flash_var', 'ok')一样。

相关内容

  • 没有找到相关文章

最新更新