Javascript 主干JS-删除REST接口中的模型

Javascript 主干JS-删除REST接口中的模型,javascript,rest,backbone.js,http-delete,Javascript,Rest,Backbone.js,Http Delete,我正在编写一个主干应用程序,它应该与RESTAPI接口 我的问题出现在用户删除已被其他人删除的模型时。在我看来,后端应该只返回success(200),因为模型已经被删除了。但是开发服务器端的人有不同的观点,因此我得到的是404。为了进行比较,当请求实际失败时(因此模型仍然有效),响应代码为400,或者可能是401,用于授权问题 因为我得到了一个错误,我实际上没有删除模型。我试图做的是修改这种行为:如果在删除模型时出现404错误,则应将其视为成功。但我不确定什么是最方便的处理方法 理想情况下,我

我正在编写一个主干应用程序,它应该与RESTAPI接口

我的问题出现在用户删除已被其他人删除的模型时。在我看来,后端应该只返回success(200),因为模型已经被删除了。但是开发服务器端的人有不同的观点,因此我得到的是404。为了进行比较,当请求实际失败时(因此模型仍然有效),响应代码为400,或者可能是401,用于授权问题

因为我得到了一个错误,我实际上没有删除模型。我试图做的是修改这种行为:如果在删除模型时出现404错误,则应将其视为成功。但我不确定什么是最方便的处理方法

理想情况下,我希望避免将此逻辑放入
模型中。销毁
。这将导致重复。我可以把它放在一个超类的
destroy
方法中,但是模型无论如何都会覆盖这个方法,每个方法都有自己的逻辑,所以它会变得混乱。我更希望
model.destroy
方法在不知道实际响应是404的情况下获得成功

另一方面,除了重写整个函数之外,我不知道如何将此逻辑放入Backbone.sync中

将删除请求的所有404响应转换为成功的最透明的方法是什么


这是一个黑客,但应该做到:

model.destroy({
    error: function(model, resp, options) {
        if (resp.status == 404) {
            resp.status = 200; 
            options.success(model, resp);
        }
     }
})

顺便说一句,到目前为止,
destroy()
create()
都很乐观。

回答得很好!你赢了我,但我的就没那么好了。谢谢你,它很好用!这是一个有点丑陋的观点,但现在它会做的。