我正在学习BackboneJS。使用REST后端,我尝试在下面的代码中发出一行HTTP DELETE:this.at(0).destroy();
:
var Task = Backbone.Model.extend({
defaults: {
name: 'Testing Just',
},
url: 'http://localhost:8080/todos/',
});
var Tasks = Backbone.Collection.extend({
model: Task,
url: 'http://localhost:8080/todos/'
});
var tasks = new Tasks();
tasks.fetch({
context: tasks
}).done(function() {
console.log("Tasks:" + this.length)
console.log(this.at(0).get('name'));
this.at(0).destroy();
console.log("Tasks:" + this.length);
console.log(this.at(0).get('name'));
});
从集合中删除模型,但后端不会发生REST DELETE。 REST后端的删除与'localhost:8080 / todos / 0'一起使用。 请告知我缺少的东西。
答案 0 :(得分:0)
REST后端的删除适用于'localhost:8080 / todos / 0'
您可能认为骨干基于集合中的模型索引发出请求,但实际情况并非如此。附加到集合的URL的参数是模型的id
,id
是骨干用于检查模型是否持久化的内容。
您的模型可能没有id
属性或idAttribute
集,因此,骨干认为模型尚未保存在持久层中,并且无需发出DELETE请求。< / p>