ajaxStart() 设置当前第一个AJAX请求开始时执行的处理函数。
ajaxSend() 设置在AJAX请求被发送前执行的处理函数。
ajaxComplete() 设置当AJAX请求完成(无论成功或失败)时执行的处理函数。在多个Ajax请求中,每次请求都会执行
ajaxStop() 设置当前最后一个AJAX请求结束时执行的处理函数。
//缓冲圈的第一种写法 : ajaxStart() 和 ajaxComplete()
//弊端:ajaxComplete()在多个ajax请求时,容易出问题,因为当第一个ajax请求完成的时候,他就结束了缓冲圈,而其他的请求还没有结束,就造成了数据还在请求中,但是缓冲圈已经停止了。
var _loadingIndex;layer = window.layer;
$(document).ajaxStart(
function(){
_loadingIndex = layer && layer.load(1, { shade: [0.1,'#000'] })
}
);
$(document).ajaxComplete(
function(){
setTimeout(function(){
layer.close(_loadingIndex);
},500)
}
);
//缓冲圈的第二种写法 : ajaxStart() 和 ajaxStop()
//优点:ajaxStop()最后一个ajax请求完成后执行处理的函数,当所有的ajax请求完成之后才会执行的函数,缓冲圈会在所有的ajax请求完成之后再消失
var _loadingIndex,layer = window.layer;
$(document).ajaxSend(function(){
_loadingIndex = layer && layer.load(1, {
shade: [0.1,'#000']
});
});
$(document).ajaxStop(function(){
setTimeout(function(){
layer.close(_loadingIndex);
},500)
});