问题描述
因为我们可以在 res.render 中发送额外的数据或“消息”,就像下面的例子一样,我们可以在 res.redirect 中做同样的事情吗? res.render("dashboard",{message:"Welcome to the dashboard page"});
解决方法
您可以使用会话通过重定向传递数据
闪存包 - https://www.npmjs.com/package/connect-flash
app.get('/flash',function(req,res){
// Set a flash message by passing the key,followed by the value,to req.flash().
req.flash('info','Flash is back!')
res.redirect('/');
});
app.get('/',res){
// Get an array of flash messages by passing the key to req.flash()
res.render('index',{ messages: req.flash('info') });
});
,
有几种方法可以在重定向中传递数据,但最正确的方法是使用 query string
传递数据。如前所述,您始终需要确保您的网址正确encoded
app.get('/redirect',res) {
var string = encodeURIComponent('something that would break');
res.redirect('/your/redirection/url/?data=' + string);
});