假设我有一个单页 Web 应用程序,其中包含一个项目列表,用户可以单击某个项目来查看有关该项目的更多信息。实际的项目信息是使用对 URL http://www.example.com/item/[id] 的 AJAX GET 请求异步加载的。并在加载时显示。
问题是,如果给定 id 的项目不存在怎么办?现在,请求返回状态代码 200,但实际内容表明该项目不存在。这似乎是一个坏主意,所以我想让它返回一个状态代码,表明请求在某种意义上失败,因为该项目不存在(例如,它也允许我在 fail 处理程序)。
这是一个好的做法吗(仅当该项目实际存在于数据库中时才返回状态代码 200),如果是的话,在这种情况下最适合使用哪种状态代码?
最佳答案
是的,您想要使用失败状态代码是正确的,而不是 200 OK。在这种情况下,404 Not Found 是理想的选择。 (对于曾经存在的元素,也有 410 消失。)
Link to spec ,或通过 Google“HTTP 状态代码”获取更多资源。
关于javascript - RESTful ajax - "item not found"的 HTTP 状态代码是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25868596/