解决Ajax请求结果的缓存问题(参数无变化)

本文介绍了一种常见的Ajax请求缓存问题及解决方案。当用户反复点击导致多次请求同一URL时,由于浏览器缓存机制,可能会出现请求未正确发送的情况。文章提供了一种通过在URL中添加随机数来避免缓存问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 ajax请反复点击,没请求反应
   

        bug原因). 参数无变化,在默认情况下,浏览器会针对请求地址缓存Ajax请求的结果。原因,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端。

        解决办法). 通过为URL地址添加随机数后缀的方式解决问题,这样就会多了一个一直在变的参数。

                var ran  = Math.random()*10;//随机数
                $.ajax({
                type : "get",
                async : false, //发送同步请求
                cache:  true, //不缓存此页面
                url : "/index.php/recharge/demandRecord/getResult?ran="+ran,
                data : "id="+id,
                dataType:"json",
                success:function(ajaxRes)
                {
                    $('.record_load_'+id).hide();
                    if(ajaxRes.status == 1){
                        //操作成功,刷新页面
                        location.reload();
                    } else  if(ajaxRes.error){
                        alert(ajaxRes.error);
                    } else {
                        alert('系统异常,请重试或联系技术支持!')
                    }
                }
            })

            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值