我正在做类似的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
未定义。有谁知道为什么会这样?
答案 0 :(得分:0)
根据您的描述,控制台显示一个用户对象(在JSON响应中只是一堆键/值对)。
您说用户未定义,但看起来您的意思是user.getId()
未定义
来自Web服务器的JSON响应没有任何方法(如getId
) - 只是键/值对。
编辑:您的代码看起来很像给定here的示例(大约中间向下)。
如果您修改日志记录,请说:
console.log("User: " + user.get('firstname'));
它会像您在JSON对象中显示的那样返回ttes
吗?
答案 1 :(得分:0)
这是在黑暗中拍摄的,可能不是正确答案。
我相信你没有返回正确的JSON。首先,在模型上查看代理定义以及是否在其读者中设置了任何root
属性将非常有用。
如果您尚未定义任何读者根目录,请尝试使用[
和]
来扭曲您的JSON响应。
如果这有效,我会解释原因。