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

前言:Ajax请求时候:

浏览器对:

      GET 方式请求:   默认从缓存中获取数据, 

      POST 方式请求:  默认不会从缓存中取数据,从服务端获取数据

 bug原因:  

        在IE6中 用ajax请求时,如果出现 重复的URL参数无变化,浏览器不会向服务器发送请求,在默认情况下浏览器会针对请求地址,缓存Ajax请求的结果。原因,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端。

解决办法:

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

 var ran  = Math.random()*10;// 随机数
 var url = "/index.php/recharge/demandRecord/getResult"
 $.ajax({
    type : "get",
    async : false, // 发送同步请求.(默认为true:异步,这也是ajax重要特性
    cache:  true, // 是否读取缓存,默认true,如果为 false,则每次都会向网站服务器请求
    url : "/index.php/recharge/demandRecord/getResult?ran="+ran, // 方式1
    // url : url + "?timeStamp=" + new Date().getTime(), // 方式2
    data : "id="+id,
    dataType:"json",// 返回格式 (与后台商量)
    headers:{
	   'Content-Type':"application/json; charset=utf-8" // json格式
       // 'Content-Type':"application/x-www-form-urlencoded; charset=utf-8" // formdata格式
    },
    beforeSend:function(){
		请求前的处理
	}, 
    success:function(res) {
        $('.record_load_'+id).hide();
        if (res.status == 1) {
           if (res.code === 200) {
               //操作成功,刷新页面
               location.reload();
           }
        } else  if (res.error){
            alert(res.error);
        } else {
            alert('系统异常,请重试或联系技术支持!')
        }
    },              
	complete:function(){
		请求完成的处理
	},
    error: function(e) {}
})               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值