0

I am doing a Model.load similar to this:

//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
    }

});

In the console I can see that the correct User object is being loaded. The correct server side web service is being called. It is going into the success function. However the user is undefined. Does anyone know why this would happen?

4

2 に答える 2

0

これは暗闇でのショットであり、正解ではない可能性があります。

正しい JSON を返していないと思います。rootまず、モデルのプロキシ定義を確認し、そのリーダーでプロパティを設定した場合に役立ちます。

リーダー ルートを定義していない場合は、JSON 応答を[andでワープしてみてください]

これのいずれかが機能する場合は、その理由を説明します。

于 2012-12-27T22:02:32.460 に答える
0

あなたの説明から、コンソールにはユーザー オブジェクトが表示されています (これは、JSON 応答のキーと値のペアの集まりです)。
あなたはユーザーが未定義だと言いますが、未定義であることを意味しているようですuser.getId()
Web サーバーからの JSON 応答には、( のような) メソッドはありませんgetId。キーと値のペアだけです。

編集:あなたのコードは、ここで 与えられた例によく似ています(ほぼ中間)。
ロギングを次のように変更すると、次のようになります。

console.log("User: " + user.get('firstname'));

JSONオブジェクトに表示されているように返さttesれますか?

于 2012-12-27T15:38:04.760 に答える