由于缓存的原因,CakePHP Flash消息没有显示


CakePHP Flash messages is not showing because of cache

更新:

问题:

Flash消息未显示。

当我在应用程序中使用活动/停用/添加/编辑功能时,应该会显示一条Flash消息,但不会显示。

当我清除浏览器缓存时,它第一次运行良好(显示Flash消息)。但现在我再次使用活动/停用/添加/编辑,闪烁消息没有显示。再次当我清除浏览器缓存时,它运行良好。

我解决了缓存问题。但是我怎么能摆脱缓存问题呢。

以前的问题:

我发现了缓存问题。

我有一个严重的问题CakePHP一台电脑上的Chrome和Fire Fox浏览器中没有显示Flash消息,但Chrome和其他电脑上的Fire Foxs浏览器中显示了相同的Flash消息,而且两种浏览器都无法显示JavaScript。

问题出在哪里?

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

我想您使用的是缓存助手。

以下是他所说的CakePHP文档:

标记视图中的非缓存内容

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

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

<!--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-->

我的解决方案..

在AppController中:

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