【发布时间】:2012-12-27 15:19:22
【问题描述】:
我正在做一个类似这样的 Model.load:
//get a reference to the User model class
var User = Ext.ModelManager.getModel('User');
//Uses the configured RestProxy to make a GET request to /users/123
User.load(123, {
success: function(user) {
console.log(user.getId()); //logs 123
}
});
在控制台中,我可以看到正在加载正确的 User 对象。正在调用正确的服务器端 Web 服务。它正在进入成功功能。但是 user 是未定义的。有谁知道为什么会这样?
【问题讨论】:
-
好吧,如果不看您的 JSON 响应就很难说,但我认为问题可能出在 JSON 的格式上(可能不是根对象,可能是数组?)
-
@VoidMain Web 服务正在返回一个用户对象,控制台显示一个 jsonarray {"id":22,"firstname":"ttes","lastname":"fff","phonenumber" :"444-444-4444","email":"fff@gmial.com","bio":"asdfsdfasdfdfs","travelradius":6,"accepted":true,"approver":null,"approvercmets" :null}
-
你说的是显示一个 jsonarray 但你的 json 看起来像一个对象,如果它是一个数组响应,那么你需要在你的服务器中解开它,以便在你按 id 加载时只得到一个结果(比如在您的示例中)
load方法采用单个结果对象,而不是数组,这可能是您的情况吗?在任何情况下,查看该模型的代理和阅读器配置都会很有用。