我想在出现AJAX错误时提醒用户。您可以通过$.ajaxSetup
:
$.ajaxSetup({
error: function() {
alert("OOPS!")
}
});
But the jQuery docs recommend against this:
注意:全局回调函数应该 与各自的全球一致 Ajax事件处理程序 methods-.ajaxStart(),. ajaxStop(), .ajaxComplete(),. ajaxError(), .ajaxSuccess(),. ajaxSend() - 相反 而不是在设置对象中 $ .ajaxSetup()。
所以我想我应该这样做:
$("#some_random_div").ajaxError(function() {
alert("OOPS!")
});
这对我来说没有意义:AJAX错误回调与我的应用程序整体有关,而不是特定的页面元素。那么为什么回调函数应该与单个页面元素相关联呢?
那么:为什么jQuery文档建议使用看起来不太可读的方法,哪种方法最好?
答案 0 :(得分:7)
典型的用法是将ajaxError绑定到的特定页面元素是将显示错误消息的div;也许是页面顶部的“flash”消息div。通过这种方式,您可以直接访问该div以附加消息。
但是如果你没有使用特定的DOM元素作为消息显示区域,你当然可以将它绑定到$(document)
或其他一些这样的全局元素。
答案 1 :(得分:2)
答案 2 :(得分:0)
您可以将错误功能连接到整个身体,如下所示:
$('body').ajaxError(function() {
alert("OOPS!")
});
答案 3 :(得分:0)
可能存在可能与单个控件相关的情况 - 例如,当您拥有通过ajax往返数据库的自动完成时,而不是像提交时那样整个页面。然后,这将确定您是否要隔离页面组件上的错误,如果是,则应该对错误的响应应该是什么,而不是使用更通用的方法。