代码之家  ›  专栏  ›  技术社区  ›  Guillermo Phillips

针对IE7和iE8的PHP Ajax缓存

  •  2
  • Guillermo Phillips  · 技术社区  · 15 年前

    我的问题是:如果我对我的应用程序进行了更改,我如何绝对保证所有用户都会立即看到更改?

    在互联网上,这个话题似乎有相当多的不确定性。必须有一个始终有效的明确答案。

    更多问题

    真正地 工作测试缓存行为的正确步骤是什么?

    5 回复  |  直到 15 年前
        1
  •  1
  •   Lizard    15 年前

    尝试添加以下标题:

    header("Cache-Control: no-cache, must-revalidate");
    header('Pragma: no-cache');
    

        2
  •  3
  •   Andrew    15 年前

    如果要在每个查询的末尾附加一个破坏缓存的唯一id,那么不要使用rand。改用当前日期/时间(毫秒)。这样既保证了唯一性,也更便于调试。

        3
  •  0
  •   gargantuan    15 年前

    使URL唯一并不是一个巨大的开销。您只需在URL的末尾添加一个随机数。在GET请求的情况下,您可以这样做

    /someresource.php?some_key=foo&no_cache=9832742938642
    

    在处理请求的任何脚本中,都可以忽略rand key-value对。

        5
  •  0
  •   Sam Dutton    14 年前

    使用jQuery,您可以添加一个额外的参数,以避免像这样进行缓存:

    $.getJSON(myUrl, {"no_cache": new Date().getTime()}, function(data) {
    // do something
    }
    
    
    $.getJSON(myUrl, {"no_cache": new Date().getTime()}, function(data) {
    // do something else
    }