使用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
anderrorThrown
是undefined。
我可以找到XMLHttpRequest.responseText
包含构成标准 .net 错误页面的 HTML 的内容。
我在 responseText 中找到页面标题并使用标题来确定引发了哪个错误。虽然我怀疑当我启用自定义错误处理页面时这会崩溃。
我应该在 ashx 中抛出错误,还是应该返回状态代码作为调用返回的数据的一部分userCreation.ashx
,然后使用它来决定采取什么行动?
你如何处理这些情况?