了解jQuery AJAX事件 - 成功和ajaxSuccess

Bry*_*yan 7 ajax jquery events

需要一些帮助来理解这里记录的事件successajaxSuccess事件之间的区别.

success是一个本地事件,ajaxSuccess而是一个全球性的事件.我理解本地变量和全局变量之间的区别,但是在理解事件范围的概念时遇到了一些麻烦.

什么是一些样本场景,其中一个优先于另一个?

Mar*_*iss 8

您可以使用全局事件:

$.ajaxSuccess(function(){
//do my global thing here
});
Run Code Online (Sandbox Code Playgroud)

因为全球事件将触发每个ajax呼叫成功,而不仅仅是那个.

但是

success: function(){/* do local here */});
Run Code Online (Sandbox Code Playgroud)

只在本地ajax调用函数中触发作为其私有对象.

请注意

$.ajaxComplete(function(){ });
Run Code Online (Sandbox Code Playgroud)

可能是你所追求的,因为它触发完整 - 有或没有错误.

编辑:success:ajaxSetup global中本地的特别注释:(不推荐这样做,你应该使用$.ajaxSuccess)

$.ajaxSetup({
    success: function() {
       // local within the ajaxSetup
    }
});
Run Code Online (Sandbox Code Playgroud)

现在,我们为什么要使用另一个呢?也许您需要对返回的对象进行特殊过滤:

$(selector1).ajax({
    success: function(data){
        processMySelector1JSON(data);
    }
});
$(selectorOther).ajax({
    success: function(data){
        processMySelectorOtherJSON(data);
    }
});
$.ajaxSuccess(function(){
  $('#message').text('Ajax Done!').fadeIn(function(){$(this).fadeOut();});
});
Run Code Online (Sandbox Code Playgroud)