Chr*_*ard 6 javascript ajax jquery
举个例子,让我们假设我想用jQuery Ajax部分克隆Gmail的界面,并实现定期的自动保存和发送.特别是,让我们假设我关心错误处理,期待网络和其他错误,而不仅仅是乐观,我希望合理处理不同的错误.
如果我使用$ .ajax()的"低级"功能,那么很清楚如何指定错误回调,但$ .get(),$ .post()和.load()的便捷方法不会允许指定错误回调.
悲观错误处理的最佳实践是什么?是通过在$ .ajaxSetup()中注册带有某些包装集的.ajaxError()还是内省样式的全局错误处理程序?如果尝试的自动保存失败,并且可能是根据错误类型自定义的消息,那么代码的相关部分将启动自动保存以便显示"无法自动保存"类型警告的内容是什么?
谢谢,
Bal*_*usC 10
通常的做法是使用$.ajaxSetup在非$.ajax函数期间为错误指定通用回调处理程序.例如
function init() {
$.ajaxSetup({
error: handleXhrError
});
}
function handleXhrError(xhr, errorType, exceptionThrown) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
在内部,handleXhrError您可以显示模式窗口或某些通知栏,如Gmail,或document根据功能要求替换整个.由所获得可以采取基于响应身体动作xhr.responseText和/或HTTP状态代码从xhr.status.响应主体和状态的值可从服务器端控制.这些应提供有关问题的足够信息以及要采取的错误操作.在errorType将相等于'timeout'当发生超时(即网络问题).