我特意使用Jquerys .post()方法提交ajax调用,并将其作为json编码接收。
function createUserAccount() {
$.post( "createUserAccount", $( "#UserAccountForm" ).serialize(), function() {
})
.done(function(data) {
parseddata = JSON.parse(data);
// Do Stuff
})
.fail(function() {
alert( "There was a problem with the Ajax call" );
})
.always(function() {
alert( "Always" );
});
}
处理应用程序级别错误的推荐方法是什么(例如:已经使用了用户名。此表单的用户知道ajax调用失败(从应用程序的角度来看)并且需要更改他建议的用户名。
我应该在JSON返回中添加一些东西,从应用程序的角度将ajax调用标记为成功还是失败?如果是这样,我们有任何代码示例吗?我们怎么做?
注意我并不是在谈论HTTP级状态代码,我知道它们的级别低于我的应用程序自定义错误和消息。
答案 0 :(得分:1)
我更喜欢在json中设置成功,或者返回错误消息。我保留对真正意外失败的抛出异常,例如不与数据库联系。
答案 1 :(得分:0)
你在这里踩到了不友好的领域,因为这可能有点争议:)关于如何在回复中做错误处理有很多意见,我会尽量在这里做客观。
我看到它完成的主要方式就像你说的那样:把一些东西放在响应中。这通常会涉及成功:true | false和消息字段。
另一种可能不太常见的方法是对错误进行非冗长,并简单地返回空的或错误的json对象。
最后,有响应代码。这在技术上是“标准”的方式,这将是返回响应头。别。老实说,只是不要。
我建议使用第一个选项,因为它似乎是为了冗长,而且它允许你对“succes == true?”进行非常标准化的错误检查。