2

私はこのようなモデルを使用しています:

var SidebarCategory = Backbone.Model.extend({
    urlRoot: 'sidebar',
    defaults : {
        title  : '',
        items: ''
    }
});

そして、GET 経由でこの JSON をフェッチします。

{"id":"foo","title":"TITLE","items":"bar baz"}

ただし、モデル自体は着信データを取得しません。

var foo = new SidebarCategory({id: 'foo'});
foo.fetch();

console.log(foo.toJSON());

id を取得するだけで、残りは無視します。

私は何か見落としてますか?何が問題なのですか?

4

2 に答える 2

4

@CDが指摘しているように、fetchは非同期であるため、次のようにコールバックするための2つのオプションがあります。

foo.fetch({
success : function(data){
   console.log(JSON.stringify(data));
}
});

また

foo.fetch();

foo.on('reset',function(data){
  console.log(JSON.stringify(data));
},this);

上記のいずれかを使用して、非同期呼び出しを処理できます。

于 2013-02-10T11:45:48.267 に答える
3

fetch非同期 HTTP (Ajax) リクエストを実行するためfetch、成功のコールバックを渡す必要があります。

foo.fetch({
   success: function(){
       console.log(foo.toJSON());  
   }
});
于 2013-02-10T10:22:16.257 に答える