CNode

Session中的flash一般是在什么情况下用呀?

问答
Ppyramid1988发布于11 年前最后回复10 年前4 回复4561 浏览0 收藏

在学习《第1章 一个简单的博客》中,看到了nswbmw使用了flash。虽然他大致讲解了flash的作用,但是小白我查了好久还是不明白为什么要用flash呀,求大家科普。

在nswbmw的文中他使用了flash用来显示注册的成功与否,然后让res重定向。我困户的地方是为什么他要这么麻烦的使用这种方法,为什么不直接发送注册成功或者失败的页面呢?感觉使用重定向岂不更麻烦了?我们在实际应用中是怎样使用flash的呢,能举个例子么?

另外就是connect-flash中使用flash的时候为什么是req.flash(....),而不是res.flash(....)?flash不应该是要返回给客户端的么?感觉上req不应该发送给客户端吧。

查看回复

回复 (4)

Z
zeroone001#1·10 年前

Flash data when set will be saved to the user's session for exactly one more request.

I
i5ting#2·11 年前

一般创建成功的提示,只显示一次,下一次就没了,此时使用flash

最早rails里有的,只1次作用

L
louislve#3·11 年前

比如有一个博客,你做如下操作:

1、新增一篇博客,写好了然后发布 2、跳转到博客列表页或者博客首页,并且显示“发布成功” 3、刷新这个页面或者下次再进入这个页面就不会显示“发布成功”了

这个临时的状态就用flash,用了一次就销毁。

Y
yaojaa#4·11 年前

connect-flash是个通用中间件。。也就是在session里存储一个变量,展示完之后立即清除。 flash通常与重定向结合使用,确保消息可到下一个页面呈现。因为在session里 所以是req。 原理同: req.session.flash="string" 。 貌似不用也麻烦不了多少

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