微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在返回HTTP状态代码方面,无效的表单数据提交是否为“错误”或“确定”?

如何解决在返回HTTP状态代码方面,无效的表单数据提交是否为“错误”或“确定”?

我的特定用例是Rails应用程序,但是我不确定这有多重要。

这个问题不是很多“建议”,而是想知道是否在表单提交数据无效时返回哪种类型的HTTP状态代码方面存在行业共识。

对于我的jquery ajax调用,如果提交无效,则返回“确定”将要求:

    $.ajax(
    )
    .done( (data) => {
      if (data.error) {
        //was invalid
      } else {
        //was good
      }
    })
    .fail( (jqXHR) => {
      //this not called unless exception
    })

但是返回类似422 Unprocessable Entity这样的内容将允许:

    $.ajax(
    )
    .done( (data) => {
      //was good
    })
    .fail( (jqXHR) => {
      //do this for invalid data
    })

只是想站在历史的右边,大声笑。

解决方法

提及

表单提交数据无效

将导致4xx,因为它是客户端错误。 422表示数据以JSON格式发送,但给定的JSON格式不正确(存储的数据正确)。例如,可能是缺少昏迷,缺少了括号。在许多情况下,400更合适,您应该检查this answer,其中详细说明了400422 (和415

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。