Javascript 主干模型.destroy未触发删除请求
这是我的模型Javascript 主干模型.destroy未触发删除请求,javascript,node.js,backbone.js,Javascript,Node.js,Backbone.js,这是我的模型 library.BookModel = Backbone.Model.extend({ urlRoot: '/api/books', defaults: { id : null, imageurl: 'noimage.jpg', } }); 我正试图通过调用book.destroy发出删除请求。但它并没有触发请求。当应用程序初始化时。该模型由来自服务器的数据填充。模型中设置了两个IDs属性id(客户端id)和\u
library.BookModel = Backbone.Model.extend({
urlRoot: '/api/books',
defaults: {
id : null,
imageurl: 'noimage.jpg',
}
});
我正试图通过调用book.destroy发出删除请求。但它并没有触发请求。当应用程序初始化时。该模型由来自服务器的数据填充。模型中设置了两个IDs属性<代码>id(客户端id)和\u id
(mongodb id)。我在模型初始化函数中将客户端id初始化为book.attributes.id=book.attributes.\u id。一切都安排好了。但我似乎无法启动删除请求。请告诉我哪里出了问题。我有什么遗漏吗
我的后端路由器被定义为处理删除请求
app.delete('/api/books/:id',函数(req,res){…})
尝试设置id属性,您的案例(mongodb)使用该属性\u id
。这是服务器设置的id
library.BookModel = Backbone.Model.extend({
urlRoot: '/api/books',
idAttribute: '_id',
defaults: {
imageurl: 'noimage.jpg',
}
});
主干在客户端上自动设置的id是,而不是id。在服务器上同步模型并获取服务器id之前,可以使用cid。“idAttribute”,写入完整的属性名称,“idAttr”可能不起作用。Woot谢谢!经过半个小时的搜索,这是目前为止最优雅的解决方案。请尝试使用pramod在回答中提到的“idAttribute:'_id'”。