禁止IE页面缓存

本文详细介绍了如何在不同类型的网页(HTML、ASP、PHP、JSP、C#)中禁止页面内容缓存,以及通过Ajax技术解决数据更新不及时的问题,并提供了清除cookie、session的方法。

一、禁止页面内容缓存:

HTM 网页

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

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

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

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

 

方法3:$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
cache:false,
ifModified :true
});
   
原因:IE中如果XMLHttpRequest提交的URL与历史一样则使用缓存,根本不向服务器端提交。因此无法取到刚提交的数据。

 

二、清除cookie
<%  Cookie killMyCookie = new Cookie("mycookie", null);    
          killMyCookie.setMaxAge(0);   
          killMyCookie.setPath("/");    
         response.addCookie(killMyCookie);   
%> 
三、清除session方法
 
<%@ page language="java" %>   
<%    
session.invalidate();   
%>   
在页面关闭时清除session,需要捕获 windows.onclose事件,再调用清除session方法

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值