Javascript 关于Ajax便利方法和错误处理,jQuery的最佳实践是什么?

Javascript 关于Ajax便利方法和错误处理,jQuery的最佳实践是什么?,javascript,jquery,ajax,Javascript,Jquery,Ajax,例如,让我们假设我想部分克隆Gmail与jQueryAjax的接口,并实现定期自动保存和发送。特别是,让我们假设我关心错误处理,期待网络和其他错误,我不只是乐观,而是希望明智地处理不同的错误 如果我使用$.ajax()的“低级”功能,那么很清楚如何指定错误回调,但是$.get()、$.post()和.load()的方便方法不允许指定错误回调 悲观错误处理的最佳实践是什么?是通过将.ajaxError()注册到某些包装集,还是在$.ajaxSetup()中注册自省式全局错误处理程序?启动自动保存时

例如,让我们假设我想部分克隆Gmail与jQueryAjax的接口,并实现定期自动保存和发送。特别是,让我们假设我关心错误处理,期待网络和其他错误,我不只是乐观,而是希望明智地处理不同的错误

如果我使用$.ajax()的“低级”功能,那么很清楚如何指定错误回调,但是$.get()、$.post()和.load()的方便方法不允许指定错误回调

悲观错误处理的最佳实践是什么?是通过将.ajaxError()注册到某些包装集,还是在$.ajaxSetup()中注册自省式全局错误处理程序?启动自动保存时,代码的相关部分会是什么样子的,以便在尝试的自动保存失败时显示“无法自动保存”类型的警告,并且可能会显示根据错误类型定制的消息


谢谢,

通常的做法是,在使用非-
$.ajax
函数时,为错误指定一个通用回调处理程序。例如

function init() {
    $.ajaxSetup({
        error: handleXhrError
    });
}

function handleXhrError(xhr, errorType, exceptionThrown) {
    // ...
}
handleshError
中,您可以显示一个模式窗口或一些类似Gmail的通知栏,或者根据功能要求替换整个
文档。您可以根据通过
xhr.responseText
和/或from
xhr.status
获得的响应正文采取操作。响应主体和状态的值可以从服务器端控制。这些应该提供足够的关于问题的信息以及要采取的错误操作。发生超时(即网络问题)时,
errorType
将等于
'timeout'