Ajax中数据请求结果不刷新问题

当使用Ajax进行数据请求时,发现多次请求后结果并未更新,即使后台数据已变。原因是浏览器缓存了首次请求的结果。为解决此问题,可以在URL末尾添加一个不断变化的参数,如Math.random(),确保每次请求的URL都是唯一的,从而避免缓存并获取最新数据。
摘要由CSDN通过智能技术生成

有时在一个页面中会经常调用某个ajax请求,但发现请求第一次之后,返回一个结果,后面再多次请求,结果还是不变,即使后台的数据真正变了也得不到最新的结果。

原来是请求的地址在浏览器的缓存中已经存在,且已有结果,所以直接将结果显示,这时我们可以通过变化访问请求地址字符串,每次都会触发访问。

如下语句:

var req; //定义变量,用来创建xmlhttprequest对象
        function creatReq(request_id) // 创建xmlhttprequest,ajax开始
        {
            var url="a.aspx"; //要请求的服务端地址
            if(window.XMLHttpRequest) //非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
            {
                req=new XMLHttpRequest();
            }
            else if(window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.
            {
                req=new ActiveXObject("Microsoft.XMLHttp");
            }
            
            if(req) //成功创建xmlhttprequest
            {
                req.open("GET",url+"?request_id="+request_id+"&"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值