javascript - backbone collection fetch 不会在成功调用中运行任何东西,但可以正常获取

标签 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+)。问题是成功函数中的任何东西都没有被调用。我需要在那里放一个函数。

我尝试使用集合定义的 parse 函数来调试为什么 success 函数被跳过的原因,如下所示:

parse: function(response){
    console.log('starting parsing of drivesCollection');
    console.log(response.length);
    console.log(response);
    return response

},

它按预期工作,并返回插入到集合中的有效值...

知道为什么我的 success 函数永远不会运行吗?

最佳答案

我想到的两件事是:

1) 您的服务器未发送有关内容类型的正确 header 信息,快速解决方法是通过添加参数强制使用获取 JSON 数据

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

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

关于javascript - backbone collection fetch 不会在成功调用中运行任何东西,但可以正常获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23437306/

相关文章:

JavaScript 3D模型

javascript - 一起使用 grunt-bump 和 grunt-ng-constant 的正确方法

javascript - 这在 javascript 中带有原型(prototype)

javascript - 对于基于服务器的应用程序,我需要在浏览器客户端上使用 MVC 模型的原因是什么?

javascript - 在 DOM 中插入 View 元素

node.js - Nohm 找不到 Redis 客户端

javascript - 如何使用变量动态调用组件或服务?

jquery-ui - 将元素放入可拖动区域会导致拖动的项目消失或移动

javascript - 如何生成动态列

javascript - Jquery比较动态生成的控件的值