我的一个PHP程序试了
1、
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");2、
<meta http-equiv=Pragma content=no-cache>
<meta http-equiv=expires content=0>
<meta http-equiv="cache-control" content="no-store"> 这两种方法都没能成功禁用浏览器缓存,在使用AJAX获取数据时总是得到一样的结果,必须手工清一次缓存才行。
请问有什么好的办法解决,或者是Apache和PHP的配置问题?

解决方案 »

  1.   

    AJAX 应用时,只有IE系列浏览器必须声明禁用缓存
    经实战检验,只需这4个就可以了
    header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
    header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
    header ("Pragma: no-cache");                          // HTTP/1.0你还可以再加上
    header('Cache-Control: post-check=0, pre-check=0',false);
    session_cache_limiter('public, no-store');
      

  2.   

    我ajax一直都是直接在请求地址后面加个时间戳,自然就不一样了
      

  3.   

    ajax url: 加个随机数
       cache: false