Backbone.js destroy()不发送删除请求
我知道这已经被问了很多次,但我无法找到解决我的问题的办法。在所有其他问题中,答案都与未设置ID或其他类似于_ID等的内容有关 我没有任何自定义同步或销毁方法。一切都是标准的 我的模型和收藏:Backbone.js destroy()不发送删除请求,backbone.js,backbone-model,Backbone.js,Backbone Model,我知道这已经被问了很多次,但我无法找到解决我的问题的办法。在所有其他问题中,答案都与未设置ID或其他类似于_ID等的内容有关 我没有任何自定义同步或销毁方法。一切都是标准的 我的模型和收藏: class Load extends Backbone.Model localStorage: new Backbone.LocalStorage 'relodr.load' urlRoot: relodr.api.url + "loads/" class Loads extends Bac
class Load extends Backbone.Model
localStorage: new Backbone.LocalStorage 'relodr.load'
urlRoot: relodr.api.url + "loads/"
class Loads extends Backbone.Collection
model = Load
localStorage: new Backbone.LocalStorage 'relodr.loads'
url: relodr.api.url + "loads/"
这是我要删除模型的位置:
delete: (e) =>
f = $(e.currentTarget)
id = $(f.parent()).attr("data-id")
load = new Loads()
load.fetch()
model = load.get id
console.log model
model.destroy()
模型已从集合中删除,但删除内容从未发送到服务器
这是console.log模型:
Backbone.Model {cid: "c5", attributes: Object, collection: Loads, _changing: false, _previousAttributes: Object…}
_changing: false
_events: Object
_pending: false
_previousAttributes: Object
attributes: Object
changed: Object
cid: "c5"
id: 2
__proto__: Object
所以我有一个模型的ID,我的模型有一个URL集
如果我这样做:
model = new Load
id: 99
model.destroy()
它工作,删除请求被发送,尽管它返回500个错误(显然)。所以它告诉我URL等是正确的和有效的
只是不知道为什么我的销毁方法不起作用
更新
有趣的是,当我记录上面创建的模型时,它看起来是这样的:
Load {cid: "c6", attributes: Object, _changing: false, _previousAttributes: Object, changed: Object…}
因此,一个表示加载(模型名称),另一个表示主干.model我猜您可能没有为您的模型设置属性。我最近遇到了这个问题。这不是主干问题,而是jQuery问题。jQueryIssue默认为“json”数据类型,并且它希望数据中有json负载,因此当您发出调用时,jQuery实际上会在DELETE上放屁 要解决此问题,请尝试使用将传递给jQuery.ajax的一些选项执行删除操作:
model.delete({
type: 'text',
contentType : 'text/plain'
});
我发现这很有魅力。Oops。。对哦,好吧。。。您的服务器是否需要某种类型的删除负载?或者它是一个旧式服务器,您必须通过POST来执行删除操作?我会尝试删除负载模型的localStorage属性。留着收集吧,记得吗,还是一样。我刚刚补充说,为了尝试一些东西,我觉得一切都很好,只是您同时配置了本地存储和URL。请再一次放纵我,把本地存储线全部删除。Load仍应配置urlRoot。加载应该有url。谢谢