标签归档:ajax

jquery采用ajax方式获取数据时,如何设置超时时间

var ajaxTest = $.ajax({
  url:” ,//请求URL
  timeout:2000, //超时时间(单位毫秒)
  type:’get’, //get或post
  data:{}, //请求所传参数 通常为json格式
  dataType:’json’,//返回的数据格式
  success:function(data){
    alert(“成功”);
  },
  complete:function(XMLHttpRequest,status){ //请求完成后最终执行参数
    if(status==’timeout’){
      ajaxTest.abort();
      alert(“超时”);
    }
  }
});

设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时,则执行相应的操作。
设置timeout的原理,在创建ajax请求时,设置 window.setTimeOut(2000),setTimeOut所对应的函数开始运行时,request还在运行,此时应该终止请求函数,并且返回状态’timeout’