Ajax缓存解决办法

1、在服务端加header("Cache-Control:no-cache,must-revalidate");(如php中)

2、在ajax发送请求前加上anyAjaxObj.setRequestHeader("If-Modified-Since","0");

3、在ajax发送请求前加上anyAjaxObj.setRequestHeader("Cache-Control","no-cache");

4、在Ajax的URL参数后加上"?fresh="+Math.random();//当然这里参数fresh可以任意取了

5、第五种方法和第四种类似,在URL参数后加上"?timestamp="+newDate().getTime();

6、用POST替代GET:不推荐

1、加个随机数

xmlHttp.open("GET","ajax.asp?now="+newDate().getTime(),true);

2、在要异步获取的asp页面中写一段禁止缓存的代码:

Response.Buffer=True

Response.ExpiresAbsolute=Now()-1

Response.Expires=0

Response.CacheControl="no-cache"

3、在ajax发送请求前加上xmlHTTP.setRequestHeader("If-Modified-Since","0");可以禁止缓存

xmlHTTP.open("get",URL,true);

xmlHTTP.onreadystatechange=callHTML;

xmlHTTP.setRequestHeader("If-Modified-Since","0");

xmlHTTP.send();

相关推荐