欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在(ASP/PHP/JSP/html/js)中禁止ajax缓存的方法集锦

程序员文章站 2023-11-14 19:52:10
ajax缓存有好处,但也有坏处,缓存有时候会导致误操作,影响用户体验,若你的web项目不需要ajax缓存功能,可按下述方法来禁止ajax缓存。 一、在asp中禁止ajax...

ajax缓存有好处,但也有坏处,缓存有时候会导致误操作,影响用户体验,若你的web项目不需要ajax缓存功能,可按下述方法来禁止ajax缓存。

一、在asp中禁止ajax缓存:

'放在asp网页最开头部分 

response.expires=0

response.addheader("pragma","no-cache")

response.addheader("cache-control","no-cache, must-revalidate")

二、在php中禁止ajax缓存:

//放在php网页开头部分

header("expires: thu, 01 jan 1970 00:00:01 gmt");

header("cache-control: no-cache, must-revalidate");

header("pragma: no-cache");

三、在jsp中禁止ajax缓存:

 

//放在jsp网页最开头部分

response.addheader("cache-control", "no-cache");

response.addheader("expires", "thu, 01 jan 1970 00:00:01 gmt");

四、通过给网页添加随机字符强制更新:如

var url = 'http://url/';

url += '?temp=' + new date().gettime();

url += '?temp=' + math.random();

五、若是静态html,可添加http headers头禁止缓存,比如:

<meta http-equiv="pragma" content="no-cache" />

<meta http-equiv="cache-control" content="no-cache, must-revalidate" />

<meta http-equiv="expires" content="thu, 01 jan 1970 00:00:01 gmt" />

<meta http-equiv="expires" content="0" />

六、可以在xmlhttprequest发送请求之前加上以下代码禁止ajax缓存:

xmlhttprequest.setrequestheader("if-modified-since","0");
xmlhttprequest.send(null);

七、jquery ajax load禁止

在jquery提供一个防止ajax使用缓存的方法,把下面的语句加在head的javascript文件里,就可以解决问题。

$.ajaxsetup ({ 
  cache: false //关闭ajax相应的缓存 
});


小结,不过现在都是使用jquery ajax了我们如果不希望缓存可以直接设置 cache: false 这样可以解决post ,get等提交数据方式哦。