CNode

问一个关于重定向后flash丢失的问题

问答
MMiYogurt发布于10 年前最后回复10 年前3 回复3232 浏览0 收藏

express 使用的组件是 express-session

假如我在当前控制器req.flash('success','yes'); 这样是可以正常显示的

req.flash('success', 'submited!')
res.location('/')
res.redirect('/')

假如是这样重定向的话,在/页面,messages()里面是没有数据的。

怎么解决?

查看回复

回复 (3)

M
MiYogurt#1·10 年前

我也是这么理解的。但是我看YouTube上面的老外就可以这么用。他的版本稍微老一点而已。

S
standself#2·10 年前

照我理解,flash是仅存在当前和下一次的请求中被访问,随后会被清除。 你用res.location 和 res.redirect进行了两次重定向,也就会进行两次请求。最后你的页面显示是 res.redirect重定向的 “/”页面。这个时候,两次重定向之间,flash里面的数据都被清除,没有再设置数据。

M
mosaic101#3·10 年前
引用 MiYogurt我也是这么理解的。但是我看YouTube上面的老外就可以这么用。他的版本稍微老一点而已。

@MiYogurt req.flash 这个方法已经被官方废弃了,可以在客服端解决

参与回复
登录后即可参与回复。登录