javascript - RESTful ajax - "item not found"的 HTTP 状态代码是什么?

标签 javascript jquery ajax http-status-codes single-page-application

假设我有一个单页 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/

相关文章:

javascript - 在 Angular HttpClient 中实现接口(interface)有什么用?

javascript - 是否可以在 Chart.Js 中调用指令?

jquery - 使用没有按钮的 UI 图标 Sprite ?

javascript - Bootstrap 弹出窗口加载

Jquery模糊()异常

c# - WCF AJAX 无法推断架构。请求/响应主体被包装

javascript - Meteor.users.update() 不适用于注销+登录

javascript - Firefox WebExtensions : can not get canceled request data

javascript - 在 javascript 函数中调用 JQuery HTTP GET 请求

javascript - 将一个 div 对齐到 box(div) 中另一个 div 的右侧