我有一个使用此行获取的集合:
console.info("before fetching drivesCollection");
this.drivesCollection.fetch({
success: function() {
console.info("inside fetching drivesCollection");
},
error: function(collection, response, options) {
console.log('ERROR fetching drivesCollection ');
}
});
console.info("after fetching drivesCollection");
提取按预期工作,并且永远不会调用错误回调。之后我可以在集合中看到所有模型(200+)。问题是成功函数内的任何内容都没有被调用。我需要在那里放一个函数。
我尝试使用集合定义的success
函数以某种方式调试parse
函数被跳过的原因:
parse: function(response){
console.log('starting parsing of drivesCollection');
console.log(response.length);
console.log(response);
return response
},
它按预期工作,并返回插入集合中的有效值...
为什么我的success
函数永远不会运行?
答案 0 :(得分:0)
我想到的两件事是:
1)您的服务器没有发送有关内容类型的正确标头信息,快速修复将通过添加参数来强制使用获取JSON数据
this.drivesCollection.fetch({
dataType: 'json',
success: function() {
console.info("inside fetching drivesCollection");
}
});
2)或者,你错误地使用Backbone.Model来获取集合而不是Backbone.Collection(我犯了几次错误)