gpt4 book ai didi

javascript - 关于 Ajax 便捷方法和错误处理的 jQuery 最佳实践是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 05:08:58 26 4
gpt4 key购买 nike

举个例子,假设我想使用 jQuery Ajax 部分克隆 Gmail 的界面并实现定期自动保存和发送。特别是,让我们假设我关心错误处理、预期网络错误和其他错误,而不是仅仅乐观,我想要对不同的错误进行明智的处理。

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

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

谢谢,

最佳答案

通常的做法是使用$.ajaxSetup为非 $.ajax 函数期间的错误指定通用回调处理程序。例如

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

function handleXhrError(xhr, errorType, exceptionThrown) {
// ...
}

handleXhrError 中,您可以显示模态窗口或像 Gmail 那样的通知栏,或者替换整个 document,具体取决于功能要求。您可以根据 xhr.responseText 和/或 HTTP status code 获得的响应正文采取行动。来自 xhr.status。响应主体和状态的值可以从服务器端进行控制。这些应该提供有关问题的足够信息以及要采取的错误操作。当发生超时(即网络问题)时,errorType 将等于 'timeout'

关于javascript - 关于 Ajax 便捷方法和错误处理的 jQuery 最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2882834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com