当使用jQuery的ajax method来提交表单数据时,处理错误的最佳方法是什么? 这是一个什么样的通话可能看起来像一个例子:如何使用jQuery.ajax()处理错误?
$.ajax({
url: "userCreation.ashx",
data: { u:userName, p:password, e:email },
type: "POST",
beforeSend: function(){disableSubmitButton();},
complete: function(){enableSubmitButton();},
error: function(xhr, statusText, errorThrown){
// Work out what the error was and display the appropriate message
},
success: function(data){
displayUserCreatedMessage();
refreshUserList();
}
});
可能会失败有很多原因,如重复的用户名,重复的电子邮件地址等,和ashx的请求被写入抛出一个异常当这个情况发生时。
我的问题似乎是通过抛出异常,ashx导致statusText
和errorThrown
为undefined。
我可以到达XMLHttpRequest.responseText
,其中包含构成标准.net错误页面的HTML。
我在responseText中找到页面标题,并使用标题找出引发了哪个错误。虽然我怀疑当我启用自定义错误处理页面时,这会崩溃。
我应该在ashx中抛出错误,还是应该返回状态码作为userCreation.ashx
调用返回的数据的一部分,然后使用它来决定采取何种操作?
你如何处理这些情况?
+1:非常感谢。 – 2010-08-16 00:29:58