我正在使用 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/