这是我模特的身体
urlRoot: '/users',
parse: function(response) {
return response.User;
}
以下是我在浏览器中输入/users/1
时返回的内容:
{"User":{"id":"1","created":"2013-02-13 09:22:42","modified":"2013-02-13 09:22:42","username":"somesuername","password":"","role":"somerole","token":null,"token_expiration":null}}
所以api有效。 当我执行此操作时:
this.model.id = 1;
this.model.fetch({ success: function(user){
console.log(user);
}}); // this.model is instance of my model
我进入控制台:
d {cid: "c4", attributes: Object, _changing: false, _previousAttributes: Object, changed: Object…}
_changing: false
_pending: false
_previousAttributes: Object
attributes: Object
__proto__: Object
changed: Object
cid: "c4"
id: Array[1]
__proto__: e
所以结果是成功的,模型没有获取任何数据 - 我错过了什么?
答案 0 :(得分:2)
Backbone.Model
将数据存储在attributes
属性中。来自Backbone documentation:
attributes属性是包含模型状态的内部哈希 - 通常(但不一定)是表示服务器上的模型数据的JSON对象的一种形式。它通常是数据库中一行的直接序列化,但它也可以是客户端计算状态。
请使用set来更新属性,而不是直接修改它们。
尝试在控制台对象检查器中展开attributes
节点,您应该会看到您的数据。