主干 - 在后端接收 DELETE 数据

Backbone - receiving DELETE data in the back end

本文关键字:DELETE 数据 端接 主干      更新时间:2023-09-26

假设您有一个带有id的模型,并且您想在数据库中删除它。因此,您可以在该模型上调用 destroy() 方法(如下代码示例中所示)。这将发送一个OPTIONS HTTP 请求,然后发送一个DELETE HTTP 请求。我的问题是,虽然我在服务器端很好地捕获了DELETE请求,但我找不到任何信息告诉我模型id是什么 - 它不是请求中的参数,也不在 URL 中。如何找到此信息?我在这里的文档中看不到它。这是我存储代码的存储库的链接。

  removeElement: function() {
    // DELETE in DB
    this.model.destroy();
    this.remove();
    this.unbind();
  },

我所期望的是HTTP请求将具有像{ 'id': 42319 }之类的参数。

您可能需要设置模型 ID 属性。客户端上主干自动设置的 id 是 cid 而不是 id。请注意,使用不同唯一键(如MongoDB)的数据库的常见问题不是从该键映射到ID,如文档中所述

例如:

var Model = Backbone.Model.extend({
    idAttribute: "_id"
    //other model setup code
});

我的问题是我在modelcollection中都定义了url属性。您应该只在collection中定义url。愚蠢的错误。