我正在使用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"
}
]
服务器的响应是正确的,为什么它被解释为相同项目的列表?
答案 0 :(得分:5)
如果数据的ID字段与id
不同,则应使用id
字段指定。例如,如.NET
中的documentation for can.Model
所述,通常使用Id
。在这种情况下,id字段必须定义为ID
:
Invoice = can.Model({
id: 'ID',
findAll: 'GET /invoices',
create : "POST /invoices",
update : "PUT /invoices/{id}",
destroy : "DELETE /invoices/{id}"
},{});