需要一些帮助来理解此处success
记录的事件和ajaxSuccess
事件之间的区别。
success
是本地事件,ajaxSuccess
而是全局事件。我了解局部变量和全局变量之间的区别,但在理解事件范围的概念时遇到了一些麻烦。
有哪些示例场景会优先于另一种?
需要一些帮助来理解此处success
记录的事件和ajaxSuccess
事件之间的区别。
success
是本地事件,ajaxSuccess
而是全局事件。我了解局部变量和全局变量之间的区别,但在理解事件范围的概念时遇到了一些麻烦。
有哪些示例场景会优先于另一种?
您可以这样使用全局事件:
$.ajaxSuccess(function(){
//do my global thing here
});
因为每次ajax调用成功都会触发全局事件,而不仅仅是一个。
但是
success: function(){/* do local here */});
仅在本地 ajax 调用函数中作为其私有对象触发。
注意
$.ajaxComplete(function(){ });
可能是您所追求的,因为它完全触发 - 有或没有错误。
编辑:success:
ajaxSetup 全局中本地的特别说明:(不建议这样做,您应该使用$.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();});
});
success: function()
更好,因为仅在请求成功时才调用此事件。它检查来自服务器的错误,并且数据错误使其变得更好。