backbone collection fetch不会在成功调用中运行任何内容,但是取出所有ok

时间:2014-05-02 21:33:47

标签: javascript backbone.js

我有一个使用此行获取的集合:

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函数永远不会运行?

1 个答案:

答案 0 :(得分:0)

我想到的两件事是:

1)您的服务器没有发送有关内容类型的正确标头信息,快速修复将通过添加参数来强制使用获取JSON数据

this.drivesCollection.fetch({
  dataType: 'json',
  success: function() {
    console.info("inside fetching drivesCollection");
  }
});

2)或者,你错误地使用Backbone.Model来获取集合而不是Backbone.Collection(我犯了几次错误)