Dispatcher在新页面上正向显示已删除的数据


Dispatcher forward displaying deleted data on new page?

我正在删除一个"mob",然后重定向到索引页面。我的问题是,如果我在到达索引页面(显示所有mob)时使用$this -> dispatcher -> forward(),则由于forward()不刷新页面的行为,删除的mob仍将显示。

通常我使用response-> redirect()来解决这个问题,但我不能在这里使用它,因为我使用dispatcher来发送这样的参数。

return $this -> dispatcher -> forward(array('controller' => 'mob', 'action' => 'index', "params" =>array("alert" => "Mob deleted.")));

我的问题是,发送参数同时刷新页面以使删除的对象在调度后不会呈现的最佳做法是什么?

我到达索引页面(显示所有暴徒),删除的暴徒将由于forward()不刷新页面的行为,仍然显示。

这并不完全正确,这与在请求期间缓存数据库调用有关,或者您只是不刷新显示的数据。如果您提供了这两个操作的代码,我会说更多,但这应该不难自己解决。每次调用索引操作时,都必须加载模型集,因此,如果在转发操作中删除了某个模型,则该模型不应出现在转发操作的连续加载中。

一般来说,转发是比重新加载页面更好的技术——你不会无缘无故地向服务器发出另一个请求。如果需要使用重定向,可以通过多种方式在页面之间传递警报,例如,将警报队列存储在会话或数据库中。Phalcon具有用于显示闪烁消息的Flash组件,这允许使用会话方法。