在ajax成功回调中处理不同的响应

时间:2014-11-28 18:52:12

标签: jquery ajax

我有一个页面上用户详细信息的记录,以及一个带有表单的模式对话框来更新详细信息。提交模式对话框时,其表单的内容将通过ajax请求发送到服务器。

服务器验证从ajax请求接收的数据。如果验证失败,则返回将此失败附加到模态对话框的原因。如果验证成功,则进行更新并返回新详细信息的html表,并使用.html(data)替换旧数据。

使用ajax成功回调如果成功更新后返回的数据是验证错误还是用户数据表,如何计算出来?

1 个答案:

答案 0 :(得分:1)

在响应中发回非http 200响应代码时,将触发Error函数。即使您的数据有错误的验证逻辑,结果仍然会返回200或成功,因为ajax请求被响应而没有错误。

如果您更改http状态以反映您自己的错误检查,请小心,因为您实际上是在滥用此状态。

对于硬错误,例如当没有数据库连接时,可以返回500,这将导致ajax错误函数触发。

但是,在你的情况下,我会发回一个带有数据的标志,例如

successFunction(data)
{
    if (data.Success)
       someElement.html(data.HtmlContent)
    else
       someError.html(data.Errors)
}

我不熟悉php。我知道有很多支持结构化方法的php / MVC框架。如果我是你,我会环顾四周,找到一个流行的php / mvc框架,并开始学习如何做到这一点。

Here是我发现的链接,似乎是解决您的问题的方法。