如果有频繁的ajax请求:
1、如果连续多个ajax请求,前面的都是无效的,可以中断结束节省资源。
2、最后一个发送的请求,响应未必是最后一个,这样有可能造成混乱。
var ajaxGet = $.get(“comet_server.php”,{id:1},function(data){
….//一些操作
});
ajaxGet.abort();
对上面代码的解释
1、$.get返回的数据类型是XMLHttpRequest,请参考手册。($.post、$.ajax、$.getJSON、$.getScript也同样)
2、XMLHttpRequest对象有abort()方法
注意:abort()后,ajax请求立即停止,但还是会执行后面的function()。如果想避免执行其中的操作,可以在function()开始位置加判断。
var ajaxGet = $.get(“comet_server.php”,{id:1},function(data){
if(data.length == 0) return true;
….//一些操作
});
ajaxGet.abort();
防止重复请求:
var request;
if(request != null)
request.abort();
request = $.get(“ajax.aspx”,{id:1},function(){
//do something
});
ajax & setTimeout实现 secondTry 在等待一秒之后将firstTry的ajax终止:
var firstTry = $.ajax(
//do something
);
var secondTry = setTimeout(function(){alert(‘ok');firstTry.abort()},1000);