3

JSON URL からコレクションを取得しようとしています。modelsバックボーンはリクエストを送信し、レスポンスを取得しますが、その後のコレクションにはありません:

ここに私のJavaScriptがあります:

stores.fetch();

応答の JSON

[{"name":"Store 1"},{"name":"Store 2"},{"name":"Store 3"},{"name":"Store 4"}]

応答の Content-Type HTTP ヘッダーは ですapplication/json

コレクションにロードされないのはなぜですか? JSONは正しいですか?

いくつかのコード:

be.storeList.Item = Backbone.Model.extend({
    defaults: {
        id: null,
        name: null,
        description: null
    },
    initialize:function(attrs){
        attrs.id = this.cid;
        this.set(attrs);
    }
});

be.storeList.Items = Backbone.Collection.extend({
    model: be.storeList.Item,
    url:'/admin/stores'
});

var stores = new be.storeList.Items();
stores.fetch();
console.log(stores.toJSON());
4

2 に答える 2

3

fetch非同期です。試す

stores.fetch({ 
    success:function() {
        console.log(stores.toJSON());
    }
});

また

stores.on("sync", function() {
    console.log(stores.toJSON());
});
stores.fetch();

また

stores.fetch().then(function() {
    console.log(stores.toJSON());
});
于 2012-05-16T14:27:31.117 に答える
1

Item クラスの初期化関数を取り除きます。あなたはそれを必要としません。

中身stores.modelsを見たければやらなければならないということはありません。console.log(stores.toJSON());

于 2012-05-16T13:57:36.247 に答える