从Backbone Collection Fetch()获取数据

时间:2012-11-01 14:37:23

标签: object collections backbone.js

我对Backbone相对较新,我正试图在服务器端代码之间来回传递数据。我有一个收藏设置:

var AppCollection = Backbone.Collection.extend({

    model: AppModel,

    url: 'data.php'

});

然后在我看来我的初始化拉动:

initialize: function(){
    items = this.collection.fetch();
    console.log(items);
}

哪个输出items个对象。我已经尝试console.log(items.responseText)打印出返回的JSON的内容,但我得到了undefined

以下是我在console.log(items)的控制台中看到的内容:

enter image description here

我的目标是输出该responseText。有什么想法吗?

1 个答案:

答案 0 :(得分:6)

正如backbone documentation所说.fetch()会返回jQxhr个对象。

有两种可能的方法可以实现,或者你可以像这样写入成功和错误回调:

this.collection.fetch({
  success : function(collection, response) {
    // code here
  },

  error : function(collection, response) {
    // code here
  }
});

或者您可以将事件绑定到集合成功加载后触发的集合的重置方法。

this.collection.bind("reset", method_name);

您可以访问method_name上的集合,因为它将在fecth() ajax执行后执行。但我建议使用第一种方式,因为第二种方式有自己的其他用例。