AJAX IE7清除缓存

AJAX缓存页面,就是相同的URL重复提交,只会执行第一次的,后面的不执行,这会给AJAX实时读取数据带来很大影响 
在网上找了好多资料后,总结一下 
1:在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数 
在javascript发送的URL后加上t=Math.random() 
当然,不是直接把t=Math.random()拷贝到URL后面,应该像这样:URL+"&"+"t="+Math.random(); 
2:在XMLHttpRequest发送请求之前加上XMLHttpRequest.setRequestHeader("If-Modified-Since","0") 
一般情况下,这里的XMLHttpRequest不会直接使用 
你应该可以找到这样的代码 
XXXXX.send(YYYYYY); 
那么,就把它变成 
XXXXX.setRequestHeader("If-Modified-Since","0"); 
XXXXX.send(YYYYYY); 

第二种方法感觉挺好 


function send_request(url) {//初始化、指定处理函数、发送请求的函数
                    http_request = false;
                    //开始初始化XMLHttpRequest对象
                    if(window.XMLHttpRequest) { //Mozilla 浏览器
                            http_request = new XMLHttpRequest();
                            if (http_request.overrideMimeType) {//设置MiME类别
                                    http_request.overrideMimeType('text/xml');
                            }
                    }
                    else if (window.ActiveXObject) { // IE浏览器
                            try {
                                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                            } catch (e) {
                                    try {
                                            http_request = new ActiveXObject("Microsoft.XMLHTTP");
                                    } catch (e) {}
                            }
                    }
                    if (!http_request) { // 异常,创建对象实例失败
                            window.alert("不能创建XMLHttpRequest对象实例.");
                            return false;
                    }
                    http_request.onreadystatechange = processRequest;
                    // 确定发送请求的方式和URL以及是否同步执行下段代码
                    http_request.open("GET", url, true);
                    http_request.setRequestHeader("If-Modified-Since","0"); 
                    http_request.send(null);
            }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值