设置Ajax的超时只需两步
1. 设置timeout属性
2. 添加complete对应的操作函数
示例:
var ajaxTimeoutTest = $.ajax({
url:'', //请求的URL
timeout : 1000, //超时时间设置,单位毫秒
type : 'get', //请求方式,get或post
data :{}, //请求所传参数,json格式
dataType:'json',//返回的数据格式
success:function(data){ //请求成功的回调函数
alert("成功");
},
complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
if(status=='timeout'){//超时,status还有success,error等值的情况
ajaxTimeoutTest.abort();
alert("超时");
}
}
});
设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时执行响应的操作。
补充一下:
success 是ajax成功后后执行的函数,error是ajax失败后执行的函数,complete 是ajax完成后执行的函数,beforeSend是发送前执行的函数。success和error比较好理解,complete的意思用通俗的话说就是不管你成功不成功都执行。