我遇到了一些关于连接闪存的奇怪问题,我在其他项目中以完全相同的方式使用它并且它工作正常,这就是我所拥有的:
一些路线
if (err) { req.flash('message', [{ class: 'alert-danger', message: 'TEST' }]); res.redirect('/error'); }
错误路线
router.get('/error', function (req, res, next) { console.log('---in error route') console.log(req.flash('message')); res.render('error', { message: req.flash('message'), layout: layout }); })
的console.log
---in error route [ { class: 'alert-danger', message: 'TEST' } ]
error.hbs
{{#if message}} {{#each message}}{{this.message}}{{/each}} {{/if}}
显然它在那里,但没有打印输出,如果我将第一条路线中的确切事物复制到错误,它会显示(这对我不起作用,但仅用于测试以确保hbs模板逻辑有效):
router.get('/error', function (req, res, next) { req.flash('message', [{ class: 'alert-danger', message: 'TEST' }]); res.render('error', { message: req.flash('message'), layout: layout }); })
它可能很简单,但我不知道它是什么.
经过一些实验和纯粹的意外,我发现控制台.log显然清除了闪光灯!!!!
我希望这可以帮助任何遇到这个问题的人.