jquery - 使用 jQuery : should I use $. ajaxSetup() 或 $.fn.ajaxError() 处理 AJAX 错误

标签 jquery ajax error-handling

我想在出现 AJAX 错误时提醒用户。您可以通过 $.ajaxSetup 执行此操作:

$.ajaxSetup({ 
  error: function() {
    alert("OOPS!")
  }
});

But the jQuery docs recommend against this :

Note: Global callback functions should be set with their respective global Ajax event handler methods-.ajaxStart(), .ajaxStop(), .ajaxComplete(), .ajaxError(), .ajaxSuccess(), .ajaxSend()-rather than within the settings object for $.ajaxSetup().

所以我想我应该这样做:

$("#some_random_div").ajaxError(function() {
  alert("OOPS!")
});

这对我来说没有意义:AJAX 错误回调与我的整个应用程序有关,而不是特定的页面元素。那么为什么回调函数应该与单个页面元素相关联呢?

那么:为什么 jQuery 文档建议使用看起来可读性较差的方法,以及哪种方法最好?

最佳答案

典型的用途是,你绑定(bind)ajaxError的特定页面元素是要显示错误消息的div;也许是页面顶部的“flash”消息 div。这样您就可以直接访问该 div 来附加您的消息。

但是,如果您不使用特定的 DOM 元素作为消息显示区域,您当然可以将其绑定(bind)到 $(document) 或其他一些此类全局元素。

关于jquery - 使用 jQuery : should I use $. ajaxSetup() 或 $.fn.ajaxError() 处理 AJAX 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3347316/

相关文章:

javascript - 如何使此代码更有用(防止文本区域中出现特殊字符)

javascript - 如何在不使用 window.stop() 的情况下中止图像 <img> 加载请求

jquery - IE8 忽略 Rails 3.1 的 ajax 响应

asp.net - Jquery Ajax,无法在 Internet Explorer 中工作

bash - Bash Jobs : how can I output job process information along with errors?

python - 如果二维列表的元素不在范围内,如何处理错误

c# - 向WPF中的用户报告错误的简单方法?

javascript - 如何禁用react js的react-bootstrap-date-picker节点模块上的过去和今天的日期?

javascript - 如果用户选择输入文本并且输入值为空字符串,我可以保留占位符吗?

javascript - 跨域iframe问题