小编典典

jQuery ajax事件调用顺序

ajax

可以说我有一个简单的函数,像这样。

$('body').ajaxSuccess(
    function(){alert('global');}
);

$.post('http://www.google.com', 
    { name: "John", time: "2pm" } ,
    function(data,s,xhr) {
        alert('local');
    }
);

http://jsfiddle.net/AT5vt/

是否可以使全局ajaxSuccess()函数在本地成功回调之前被调用?因为我想对结果进行全局检查,然后再由局部函数进行进一步处理。


阅读 273

收藏
2020-07-26

共1个答案

小编典典

使用默认的ajax发布而不是使用自定义发布处理程序:

http://jsfiddle.net/AT5vt/1/

$('body').ajaxSuccess(function() {
     alert('global success');
  }
);

$('body').ajaxError(function() {
     alert('global error');
  }
);

$.ajax({
  type: 'POST',
  url: 'http://www.google.com',
  data: { name: "John", time: "2pm" } ,
  complete: function(data,s,xhr) {
    if(xhr.status == 200) {
      alert('local success');
    } else {
      //note you can catch a lot of errors here like 404, 500, 406, 302 etc
      alert("local error");
    }
  }
})

并未将其放在jsfiddle中,因为从那里发布到google.com的操作一直在失败,但这应该可行。

2020-07-26