一旦用户单击某些内容,我就会尝试删除视图,然后还删除与该视图关联的模型。我已成功删除模型但是 this.model.destroy 方法不发送任何服务器请求?
这就是我的代码的样子:
PostsApp.Models.Post = Backbone.Model.extend({
url : '/tweet',
defaults:{
name: '',
adress: '',
pictureUrl: '',
postListing: '',
comments: ''
}
});
PostsApp.Collections.Posts = Backbone.Collection.extend({
model: PostsApp.Models.Post,
url: '/tweet'
});
PostsApp.Views.Post = Backbone.View.extend({
template: _.template($('#post-template').html()),
events: {
'click img': 'removeit'
},
removeit: function(){
this.remove();
this.model.destroy();
},
render: function(){
this.$el.html(this.template(this.model.toJSON()));
}
});
我在服务器端使用 express,我应该如何处理服务器端的 HTTP 删除请求?但似乎没有发送请求?
编辑:
所以我取得了一点进展,将我的模型更改为:
PostsApp.Models.Post = Backbone.Model.extend({
urlRoot : '/tweet',
idAttribute: '_id',
defaults:{
name: '',
adress: '',
pictureUrl: '',
postListing: '',
comments: ''
},
kill: function(){
this.destroy({success: function(model, response) {
console.log("sucess");
}});
}
});
我的服务器端路由器设置如下来处理请求:
app.delete('/tweet/:id'), function(req,res){
};
现在正在发送删除请求,如:DELETE /tweet/51b2548ba8568587ea000002 但我收到这样的 404 错误:DELETE localhost:3000/tweet/51b2548ba8568587ea000002 404(未找到)