如何终止JQUERY的$.AJAX请求

如果有频繁的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);

 

你可能感兴趣的:(前端jquery)