清除IE缓存问题——由IE缓存引起的界面不提交导致不刷新

来源:互联网 发布:电脑开机还原软件 编辑:程序博客网 时间:2024/05/21 10:05

HTML 网页

<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">

ASP 网页

<%

      Response.Expires   =   -1

      Response.ExpiresAbsolute   =   Now()   -   1

      Response.cachecontrol   =   "no-cache"

%>

PHP 网页

header("Expires:   Mon,   26   Jul   1997   05:00:00   GMT");

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

header("Pragma:   no-cache");

JSP

response.setHeader("Pragma","No-Cache");

response.setHeader("Cache-Control","No-Cache");

response.setDateHeader("Expires",   0);

C# 中禁止 cache 的方法!

Response.Buffer=true;

Response.ExpiresAbsolute=System.DateTime.Now.AddSeconds(-1);

Response.Expires=0;

Response.CacheControl="no-cache";

禁止图片缓存:

在图片后面加一个随机参数,如:

<img src=”images/bg.gif?temp_id=156404/>

http://hi.baidu.com/edwin5200/blog/item/8173d8c2d1167c1d0ef47792.html

http://www.cnblogs.com/zengwei/archive/2009/03/18/1415420.html

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-c
ache">

<META HTTP-EQUIV="Expires" CONTENT="0">

http://bbs.blueidea.com/thread-2621740-1-1.html

<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> <!-- 禁止浏览器缓存页面 -->

——————————————————————————————————————————

如何禁止IE缓存,采用Ajax技术数据更新不及时

今日在做Ajax的项目,发现一个问题:提交数据后,取不回提交的数据。郁闷多时,仔细分析,发现后台日志没有取数据的消息,前端也没有出现“正在读入数据”的提示。因此觉得应该是系统缓存的问题,遂google,解决。方法如下:   
方法1:服务器端代码加入response.setHeader("Cache-Control",   "no-cache,   must-revalidate");   
方法2:用JavaScript在Ajax提交的时候加入一个随机数作为URL中的一个参数。req.open(url   + &date=new Date().toLocaleString()).   
原因:IE中如果XMLHttpRequest提交的URL与历史一样则使用缓存,根本不向服务器端提交。因此无法取到刚提交的数据。