0

我对 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)

在此处输入图像描述

我的目标只是输出那个 responseText。有任何想法吗?

4

1 回答 1

6

正如主干文档所说,.fetch()返回一个jQxhr对象。

有两种可能的实现方式,您可以像这样将成功和错误回调写入 fetch:

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 后执行。但我建议使用第一种方式,因为第二种方式有自己的其他用例。

于 2012-11-01T14:53:33.587 回答