2014-11-05 60 views
1

我使用AJAX爲我的網站和我的網站的一些部分負荷文件之後禁用緩存是AJAX準備就緒,這些部分是動態的。PHP和HTML與AJAX

例一部分:您好#USERNAME#這是每一個ID不同,當我登錄到第一個ID顯示我的用戶名,但是當登錄到第二ID這個名字不會改變,並顯示第一ID的用戶名。

我禁用緩存由上面的代碼中所有PHP頁面:

<?php 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
?> 

但高速緩存沒有被禁用。

+2

PRO提示:爲了保持從緩存AJAX請求添加一個僞時間戳您請求的URL的結尾。 – 2014-11-05 17:46:55

+1

什麼周杰倫布蘭查德是上面說的例子,是要求這樣的頁面:「http://yoursite.com/ajax_script.php?t=1152014105753」,其中這串數字是當前的日期/時間下降到第二。這將跳過緩存並將其視爲瀏覽器中的新文件。 – Morgan 2014-11-05 17:58:07

+0

@Jay Blanchard:好的,謝謝。 – 2014-11-10 07:59:03

回答

1

我相信這個問題是一個重複的一點點。但是,如果您想確保緩存不會發生在ajax調用上,您可以在您要訪問的URL的末尾追加一個時間戳。

例在JavaScript AJAX準備:

var time_stamp = new Date().getTime(); 
var myurl = "url_here.php?timestamp=" + time_stamp; 
jQuery.get(myurl, /* more parameters */); 
/* other relevant code */ 

這裏有一些其他來源來自谷歌:

另一個要考慮的是,它可能不是一個緩存的問題。您是否正確清除任何會話/ cookies? (如果您正在使用它們)

+0

謝謝,這項工作。 – 2014-11-06 05:53:56