javascript - CanJS 模型 findAll 返回重复项列表

标签 javascript canjs canjs-model

我正在使用 can.Model 通过 id 检索数据:

Invoice = can.Model({
    findAll: 'GET /invoices',
    create  : "POST /invoices",
    update  : "PUT /invoices/{id}",
    destroy : "DELETE /invoices/{id}"
},{});

当导航到 /invoices 时,结果符合预期,例如:

[
    0: {
         "ID": "1",
         "Client": "Client1",
    },
    1: {
         "ID": "2",
         "Client": "Client2"
    }
]

但是,使用 Invoice.findAll 检索并记录到控制台的数据看起来像这样,对列表中的每个元素重复相同的数据项:

[
    0: {
         "ID": "1",
         "Client": "Client1"
    },
    1: {
         "ID": "1",
         "Client": "Client1"
    }
]

服务器的响应是正确的,为什么会被解释为相同项目的列表?

最佳答案

当数据有不同于id的id字段时,应该使用id字段指定。例如,如 documentation for can.Model 中所述在 .NET 中,通常使用 Id。在这种情况下,id 字段必须定义为 ID:

Invoice = can.Model({
    id: 'ID',
    findAll: 'GET /invoices',
    create  : "POST /invoices",
    update  : "PUT /invoices/{id}",
    destroy : "DELETE /invoices/{id}"
},{});

关于javascript - CanJS 模型 findAll 返回重复项列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11212784/

相关文章:

Javascript 原型(prototype)和 __proto__ 和 getPrototypeOf 问题

javascript - 如何增加 twitter bootstrap 模态弹出窗口的模态主体的宽度

javascript - Uncaught ReferenceError : Invalid left-hand side in assignment (anonymous function) in Coldfusion

javascript - 使用单个 JavaScript 函数聚焦后续字段

promise - 在 model.list 加载期间显示加载器消息的最佳方式

javascript - 在 canjs 中,根据任何模型实例的存在有条件地显示 mustache 模板部分的最惯用的方法是什么?

javascript - CanJS 右键单击​​事件

javascript - 在 CanJS 中将数据从子级点击传递到父级事件回调

javascript - 从 Can.Model 获取直接 Json