停止缓存页面的特定元素

时间:2011-11-19 06:41:39

标签: php javascript jquery ajax caching

它们是否可以阻止页面中特定元素的缓存,以便始终从服务器加载?我在页面中有一个div元素,其中包含一些需要始终从服务器更新/检索的会话信息。

我的技术是PHP / jQuery / Joomla。

有没有人有任何想法?

2 个答案:

答案 0 :(得分:0)

当使用xmlhttprequest(ajax)请求时,一种技巧可能是在URL上附加一个时间戳值,因此每次调用该函数时,请求都是唯一的,例如可以是

/// javascript get date convert it to milliseconds
 function getDateTime(){ 

     return (new Date().getTime());
 }

所以在你的ajax GET例如你可以这样做每个请求附加一个新的时间戳

    req.onreadystatechange=function(){
    .....
    };

    req.open("GET",url+"?ac="+t+"&"+ getDateTime() ,true);
    req.send("");

现在,因为你使用javascript只能在启用js时显示“div's conten”,从而强制每个内容,所以嵌入一个内联脚本并调用一个函数来填充div

   <script>populateDivsContent()</script>

答案 1 :(得分:-1)

您可以使用以下PHP代码停止缓存:

//Set no caching
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");