了解jQuery AJAX事件 - 成功和ajaxSuccess

时间:2012-05-24 12:39:47

标签: jquery ajax events

需要一些帮助,了解记录heresuccessajaxSuccess事件之间的区别。

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

哪些示例场景中哪一个会优先于另一个?

2 个答案:

答案 0 :(得分:8)

您可以使用全局事件:

$.ajaxSuccess(function(){
//do my global thing here
});

因为全局事件将触发每个ajax调用成功,而不仅仅是那个。

但是

success: function(){/* do local here */});

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

注意

$.ajaxComplete(function(){ });

可能是你在完成时发生的事情 - 有或没有错误。

编辑:ajaxSetup global中本地success:的特别注释:(不推荐使用$.ajaxSuccess

$.ajaxSetup({
    success: function() {
       // local within the ajaxSetup
    }
});

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

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

答案 1 :(得分:0)

success: function()更好,因为只有在请求成功时才会调用此事件。它检查服务器的错误,数据错误使其更好。

相关问题