禁止ajax缓存的几种方法介绍

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

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="+new Date().getTime();”;

6、用POST替代GET:不推荐。

1、加个随机数:

 代码如下 复制代码
xmlHttp.open("GET","ajax.asp?now="+new Date().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();

另一个作者写到:

  ajax的缓存是由浏览器维持的,对于发向服务器的某个url,ajax仅在第一次请求时与服务器交互信息,之后的请求中,ajax不再向服务器提交请求,而是直接从缓存中提取数据。

  有些情况下,我们需要每一次都从服务器得到更新后数据。思路是让每次请求的url都不同,而又不影响正常应用:在url之后加入随机内容,如:

 代码如下 复制代码
url=url+"&"+Math.random();

Key points:

1、每次请求的url都不一样(ajax的缓存便不起作用);

2、不影响正常应用(最基本的)。

方法二(未经证实):

php中禁止缓存

 代码如下 复制代码
header("Cache-Control: no-cache, must-revalidate");

 

在JSP中禁止缓存

 代码如下 复制代码
response.addHeader("Cache-Control","no-cache");
response.addHeader("Expires","Thu,01 Jan 1970 00:00:01 GMT"); 

HTTP:

 代码如下 复制代码
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache,must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed,26 Feb 1997 08:21:57 GMT">
<META HTTP-EQUIV="expires" CONTENT="0">

上面提供的这些禁止ajax数据缓存的方法只是常用的几种我们还有如php,asp.net等等这类禁止方法都未测试,所以不拿出来说了。

时间: 2024-10-16 05:45:51

禁止ajax缓存的几种方法介绍的相关文章

禁止页面缓存的几种方法

今天在开发时碰到一种方法,就是客户要求页面不缓存,查了一下得出如下几种不让页面缓存的办法 html 只要加在头部就可以了. <HEAD>       <META     HTTP-EQUIV="Pragma"     CONTENT="no-cache">       <META     HTTP-EQUIV="Cache-Control"     CONTENT="no-cache">  

Smarty中实现局部缓存的几种方法介绍

 在用smarty的时候,我们可能不希望缓存整个页面,比如说天气.股票等这些即时更新的信息.那么我们可以让其不缓存,有如下3种方法(目前我知道的!): 1,insert 法 Insert 函数类似欲 inluce 函数,不同之处是 insert 所包含的内容不会被缓存,每次调用该模板都会重新执行该函数.比如说我们定义一个显示时间的函数:  代码如下 复制代码 function insert_get_current_time() { return date("H:i:s"); }  然后

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

ajax缓存有好处,但也有坏处,缓存有时候会导致误操作,影响用户体验,若你的WEB项目不需要ajax缓存功能,可按下述方法来禁止ajax缓存. 一.在ASP中禁止ajax缓存: '放在ASP网页最开头部分  Response.expires=0 Response.addHeader("pragma","no-cache") Response.addHeader("Cache-Control","no-cache, must-revali

Ajax解决缓存的5种方法总结(推荐)

1.在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0″). 2.在ajax发送请求前加上 anyAjaxObj.setRequestHeader("Cache-Control","no-cache"). 3.在URL后面加上一个随机数: "fresh=" + Math.random();. 4.在URL后面加上时间搓:"nowti

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

ajax缓存有好处,但也有坏处,缓存有时候会导致误操作,影响用户体验,若你的WEB项目不需要ajax缓存功能,可按下述方法来禁止ajax缓存. 一.在ASP中禁止ajax缓存: '放在ASP网页最开头部分 Response.expires=0 Response.addHeader("pragma","no-cache") Response.addHeader("Cache-Control","no-cache, must-revalid

清除浏览器缓存的几种方法总结(必看)_javascript技巧

关于浏览器缓存 浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能.但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据.像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的.今天主要介绍清除缓存的几种方法. 清理网站缓存的几种方法 meta方法 //不缓存 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-

苹果Mac虚拟机安装Win7系统的三种方法介绍

  苹果Mac虚拟机安装Win7系统的三种方法介绍          解决方法一: 1.我们这里以免费的虚拟机Virtual Box为例; 2.启动 Virtual Box 以后,点击窗口左上角的"新建"按钮; 3.接下来为虚拟取一个名称,可随意取.系统类型保持不变,版本在下拉列表中选择 Windows 7.点击"继续"按钮; 注:如果你安装的是 Windows 64 系统的话,在下拉列表中选择时,请选择 Windows 7 (64 bit). 4.然后为虚拟机分配

在word文档中打&quot;√“的几种方法介绍

  有时候,我们在做电子调查报告或者填写一些资料表,会遇到一些word文档中有小方框[□],需要在里面打钩[√],说实在的,碰到的时候还真有些烦,我想很多人都有这样的感触吧,下面小编就为大家介绍在word文档中打"√"的几种方法,不会的朋友快快来学习吧! 第一种,利用Word中的"符号"插入钩. 首先打开word文档,选择插入-符号 再符号中-选择其他符号命令 字体中选择数字运算符,找到"√ 钩",点击插入即可. 第二种,利用输入法在Word中打

Excel剔除单列数据的重复值五种方法介绍

  有时我们在操作数据时,需要剔除单列数据的重复值,下面小编为大家介绍Excel剔除单列数据的重复值五种方法,满足大家的日常需求. 方法一:菜单按钮 如下图,是本次操作的源数据. 单击"数据"选项卡-->"数据工具"功能区-->"删除重复项",弹出"删除重复项"对话框,单击"确定"即可删除单列数据 重复值.如下图所示: 方法二:数据透视表法 依然使用上面的数据源,单击"插入"