Session中的flash一般是在什么情况下用呀?
发布于 9 年前 作者 pyramid1988 3905 次浏览 最后一次编辑是 8 年前 来自 问答

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

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

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

4 回复

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

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

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

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

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

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

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

回到顶部