2

在尝试学习 Backbone.js 时,我一直在尝试使用以下代码获取 JSON 文件的内容:

(function($){
    var MyModel = Backbone.Model.extend();
    var MyCollection = Backbone.Collection.extend({
        model : MyModel,
        url: '/backbone/data.json',
        parse: function(response) {
          console.log(response);
          return response;
        }
    });

    var stuff = new MyCollection;
    console.log(stuff.fetch());
    console.log(stuff.toJSON());
})(jQuery)

'stuff.fetch()' 返回整个对象(以及我在 responseText 中的数据),'stuff.toJSON' 不返回任何内容([]),但是 parse 方法中的控制台返回的正是我想要的(我的数据的 json 对象)。

我觉得我在这里遗漏了一些明显的东西,但我似乎无法弄清楚为什么我无法获得正确的数据。有人可以指出我正确的方向或告诉我我在这里做错了什么吗?我使用模型做错事了吗?

4

1 回答 1

6

fetch是一个异步调用,所以如果你想得到响应,请将success回调传递给参数。

stuff.fetch({
  success: function (collection, response) {
    console.log(response);
  }
})

更多关于Backbone.js 主页

于 2012-06-07T04:37:07.190 回答