我有一個使用javascript和許多jax調用的php應用程序。我的應用程序正在使用Firefox。但是當我在Internet Explorer-8或類似版本中運行它時,我的ajax調用會緩存在我的瀏覽器中,所以我無法用ajax調用輸出最新的信息,而是爲那些ajax調用的結果提供了舊數據的駐留在瀏覽器緩存中。如何使用javascript或php禁用Internet Explorer緩存
I have tried lots of possible options as listed below
1.) I added following meta tag in header files
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
2)我加了下面的PHP代碼
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Pragma: no-cache');
但還是上述2層的方法並沒有解決我的問題,即,請任何人可以幫助我來禁用緩存Internet Explorer時,我的應用程序運行,以便它有可能獲得最新的信息。
在此先感謝
帶HTTP頭的第二個解決方案應該可以工作。只要確保頭文件真的被髮送(使用web-sniffer.net),清除瀏覽器的緩存(當沒有頭文件發送時文件可能被緩存)並再次檢查。 – duri
*我加了下面的php代碼* - 在哪個文件中?響應標題應該放在你的AJAX腳本中。 –
@duri我不相信如果一個項目已經在緩存中,解決方案將工作。我認爲你可以使用javascript => http://stackoverflow.com/questions/2099201/javascript-hard-refresh-of-current-page/2099205#2099205來刷新。其餘的項目,我認爲你應該使用類似filemtime() – Alfred