我有一个由 php 驱动的应用程序,带有 javascript 和许多 jax 调用。我的应用程序在 Firefox 中运行最新。但是当我在 internet explorer-8 或类似版本中运行它时,我的 ajax 调用被缓存在我的浏览器中,所以我无法使用 ajax 调用输出最新信息,而是 ajax 调用的结果与驻留的旧数据一起提供在浏览器缓存中。
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');
但以上两种方法仍然没有解决我的问题,即,请任何人帮助我在我的应用程序运行时禁用缓存 Internet Explorer,以便它可以获得最新信息。
提前致谢
最佳答案
以某种方式使每个 AJAX 请求独一无二。这将阻止 IE 缓存响应。
例如,如果您的普通 AJAX 查询 URL 是 www.mysite.com/ajax.php?dog=cat,请将查询字符串参数添加到每个唯一的 AJAX 请求中:
www.mysite.com/ajax.php?dog=cat&queryid=1
每次发出 AJAX 请求时都增加该参数,这有望为您解决问题。
关于php - 如何使用 javascript 或 php 禁用 Internet Explorer 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6954189/