我对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。有什么想法吗?
答案 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执行后执行。但我建议使用第一种方式,因为第二种方式有自己的其他用例。