Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干模型.destroy未触发删除请求_Javascript_Node.js_Backbone.js - Fatal编程技术网

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'”。