0

ここに私のモデルの体があります

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

結果はモデルによって成功しましたが、データは取得されませんでした-何か不足していますか?

4

1 に答える 1

2

Backbone.Modelプロパティ内にデータを格納しattributesます。バックボーンのドキュメントから:

attributes プロパティは、モデルの状態を含む内部ハッシュです。通常は (必ずしもそうとは限りません)、サーバー上のモデル データを表す JSON オブジェクトの形式です。多くの場合、データベースからの行の単純なシリアル化ですが、クライアント側で計算された状態になることもあります。

属性を直接変更するのではなく、set を使用して属性を更新してください。

attributesコンソール オブジェクト インスペクタでノードを展開してみると、データが表示されるはずです。

于 2013-02-19T17:40:59.130 に答える