我怀疑这是一个非常微不足道的问题。我正在编写一个 PHP 脚本来响应 AJAX 查询。查询应该包括一些 XML 数据,PHP 脚本处理这些数据然后返回响应。我想考虑两种错误情况:
- 请求中没有POST数据;或
- XML 中的错误数据(无效或格式正确的 XML,或未通过某些架构检查)
在这种情况下,我相信我应该返回一个 4xx 响应代码。有什么比400更合适的吗? ?
更多详情
进一步说明问题:客户端 Javascript 应用程序是用于教育目的的图表编辑器。用户需要创建一个正确模拟给定情况的图表。然后学生可以提交图表,图表的 XML 序列化通过 AJAX 调用发布到服务器。 PHP 脚本分析图表 XML 并构建一个 XML 报告,该报告作为 AJAX 响应发送给客户端。我最初描述的两种情况(没有 XML POST 数据或其中的无效 XML)在客户端请求时不应该发生,但我认为正确捕获和处理这些情况是明智的。因此我认为 4xx 响应代码是合适的。 XML 报告结构不适合这些情况,空报告相当于一个完美的图表,这显然是不合适的,
最佳答案
基于 TCP/IP Guide 中代码的含义看来400是你最好的选择。似乎没有什么符合您的示例。
关于html - 为错误的 POST 数据选择正确的 HTTP 响应代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9355713/