由于缓存,CakePHP Flash消息未显示

时间:2014-11-03 05:36:55

标签: php session cakephp caching

更新

问题:

未显示Flash消息。

当我在我的应用程序中使用Active / Deactivate / Add / Edit功能时,Flash消息应显示但不显示。

当我清除浏览器缓存时,它第一次正常工作(显示Flash消息)。 但现在我再次使用Active / Deactivate / Add / Edit flash消息未显示。 当我清除浏览器缓存时,它正常工作。

我找出了Cache问题。 但是我怎么能摆脱这个Cache问题。

以前的问题:

我找到了缓存问题。

我有一个严重的问题。 CakePHP Flash消息未在Chrome,Fire Fox浏览器的One PC上显示,但Chrome,Fire Fox浏览器在其他PC上显示相同的Flash消息,而且两种浏览器都无法使用JavaScript。

问题是什么?

我已检查过其他20台PC,Flash消息在两个浏览器中都正常工作。

2 个答案:

答案 0 :(得分:3)

我想你使用缓存助手。

以下是他所说的CakePHP documentation

  

在视图中标记非缓存内容

     

有时您不希望缓存整个视图。例如,无论用户当前是登录还是以访客身份浏览您的网站,页面的某些部分可能会有所不同。

     

要指示不要缓存的内容块,请将其包装在

<!--nocache--> <!--/nocache-->喜欢这样:

<!--nocache-->
<?php if ($this->Session->check('User.name')): ?>
   Welcome, <?php echo h($this->Session->read('User.name')); ?>.
<?php else: ?>
  <?php echo $this->Html->link('Login', 'users/login'); ?>
<?php endif; ?>
<!--/nocache-->

在你的情况下:

<!--nocache-->
$this->Session->setFlash('My text here');
<!--/nocache-->

答案 1 :(得分:0)

我的解决方案..

AppController中的

function beforeRender() {
    parent::beforeRender();
    $this->response->disableCache();
}