【问题标题】:Browser Caching problems浏览器缓存问题
【发布时间】:2013-05-03 05:40:30
【问题描述】:

我创建了一个购物车应用程序,但是在从产品页面将商品添加到购物车然后转到购物车页面后,购物车显示为空,但在显示刷新产品后,我认为浏览器缓存页面。那么有没有办法解决这个问题,请帮助我

注意:我在 MVC 中使用了 cakephp 框架

谢谢

【问题讨论】:

  • 以下是如何永久避免和停止浏览器缓存!在每个页面的顶部同时使用 PHP 和 HTML:<?php header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); ?> <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
  • 您要重定向到产品页面吗?还是“内部”显示产品视图?您的萤火虫/webinspector 是否在network 面板中显示from cache

标签: php cakephp caching browser-cache


【解决方案1】:

为防止浏览器缓存购物车页面,请添加“no-cache”标头;

在 CakePHP 1.x 中禁用浏览器缓存

public function cart()
{
    $this->disableCache();
    // rest of your code here
}

在 CakePHP 2.x 中禁用浏览器缓存

在 CakePHP 2.x 中,'disableCache()' 方法已移至响应对象

public function cart()
{
    $this->response->disableCache();
    // rest of your code here
}

【讨论】:

    【解决方案2】:

    每次调用页面时,都在地址或 URL 上添加一些时间戳,例如

    在变量 MS 中获取当前时间(可以使用 jav mili 第二次)并更改您的 URL,如 myPage.jsp?MS

    谢谢

    【讨论】:

      【解决方案3】:

      你可以通过调用来做到这一点

      Cache::clear()
      

      这将清除所有缓存的数据,不包括缓存的视图文件。如果需要清除缓存的视图文件,请使用

      clearCache().
      

      【讨论】:

      • 这将清除服务器端缓存,而不是浏览器缓存。为每个请求清除 CakePHP 缓存是一个的想法,因为它会严重影响您网站的性能
      猜你喜欢
      • 2015-08-05
      • 2011-10-14
      • 2011-08-18
      • 1970-01-01
      • 2017-08-23
      • 2015-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多