我試圖以重定向爲發送數據:我們能否在節點與重定向發送數據
this.redirect("/home",{message:'hello'});
,但我喜歡的結果:
undefined redirect to home
如果有人遇到這個問題,請大家幫忙。
使用框架:locomotive
我試圖以重定向爲發送數據:我們能否在節點與重定向發送數據
this.redirect("/home",{message:'hello'});
,但我喜歡的結果:
undefined redirect to home
如果有人遇到這個問題,請大家幫忙。
使用框架:locomotive
是的,你可以使用express-flash:
app.use(flash());
...
app.get('/redirect', function (req, res) {
req.flash('info', 'Flash Message Added');
res.redirect('/');
});
您數據acessile在res.locals.messages
所以你只是在messages
變種的觀點。
快速閃光燈基於連接閃光燈。它使用會話來傳輸消息。
如果您使用的機車
機車建立在快速,保存功能和簡單你來自節點的期望。
這樣:
module.exports = function() {
...
this.use(express.bodyParser());
this.use(express.session({ secret: 'keyboard cat' }));
this.use(flash());
...
}
這個答案不夠好,我們如何在主要重定向中附加數據?如原始問題 - .redirect(「/ home」,{message:'hello'});他正在嘗試附加數據「消息」。我們如何將這些數據發送到app.get(/ redirect,function {});方法??? –
可以,但不需要,使用快速閃存模塊閃存消息。快速會話模塊公開的req.session和res.locals對象爲編寫您自己的Flash中間件提供了一個途徑,可以更準確地滿足您的需求。這個改編自Ethan Brown的書,Web Development with Node & Express。
app.use(function(req, res, next){
// if there's a flash message in the session request, make it available in the response
res.locals.flash = req.session.flash;
// then delete it
delete req.session.flash;
next();
});
在重定向到目標路由之前,使用req.session.flash設置Flash消息。
req.session.sessionFlash = {
type: 'success',
message: 'This is a flash message using custom middleware and express-session.'
}
使用目標路由的res.render方法中的res.locals.flash檢索Flash消息。
res.render('index', { flash: res.locals.flash });
見我要點如下有關Flash的消息更多細節快遞4.
你用什麼框架? –
如果您使用Express,則可以使用中間件[express-flash](https://www.npmjs.org/package/express-flash)。 –
@AlexeyTen我使用機車框架 – user3680001