需要一些帮助,了解记录here的success
和ajaxSuccess
事件之间的区别。
success
是本地事件,而ajaxSuccess
是全局事件。我理解本地变量和全局变量之间的区别,但是在理解事件范围的概念时遇到了一些麻烦。
哪些示例场景中哪一个会优先于另一个?
答案 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()
更好,因为只有在请求成功时才会调用此事件。它检查服务器的错误,数据错误使其更好。