禁止ajax缓存最简单的办法就是在js端直接生成一个随机数了,但是有时会发现此方法不适用于post了,如果我们要禁止post 提交数据的ajax缓存需要怎么处理呢,下面我整理了很多关于禁止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()方法参数详解
ajax与传统web开发的异同点
ssh+jquery+ajax框架整合
以上就是在(asp/php/jsp/html/js)中禁止ajax缓存的方法集锦的详细内容。