我正在使用集合网址进行服务调用。该服务返回一些json,json长度为13(总共13行数据)。
这里,this.Collection.fetch()返回长度为13的json。 但是this.Collection.toJSON()正在返回长度为12的json。 相反它应该返回长度13。
在集合解析中,响应返回json,其长度为13,这是正确的!
tableTemplate是模板的对象(模板使用Handlebars.js完成)。
this.Collection.fetch({ 成功:function(){
console.log("Collection Fetch 2:");
console.log(this.Collection.fetch());
console.log("Collection toJSON: ");
console.log(this.Collection.toJSON());
console.log(this.Collection.toJSON().length);
var markup = tableTemplate({List:self.importCollection.toJSON()});
...
...
}
});
答案 0 :(得分:1)
这是javascript / backbone的异步性质
这样做:
this.collection.fetch();
//Fetch() is asynchronous call , when it completes fetching it triggers the **reset** event so you need a event listener for **reset**
this.collection.on('reset',function(data){
console.log(data); // this will log the object
});
this.collection.on('reset',function(data){
console.log(JSON.stringify(data)); // This will log the JSON data
});
或者你可以这样做:
this.collection.fetch({
success : function(){ // called on completion of fetch()
console.log(data);
console.log(JSON.stringify(data));
}
});