backbonejs collection.fetch错误处理程序

时间:2013-07-26 00:44:37

标签: backbone.js error-handling fetch

以下主干collection.fetch代码由于某种原因触发,错误然后跳转到错误处理程序(如预期的那样),但我真的不知道错误处理程序参数是什么。错误触发时,模型,xhr和选项参数未定义。我做错了什么?

  var onErrorHandler = function(model, xhr, options) {
      alert(options);
  };

  that.collection = new MembersCollection([]); 
  that.collection.fetch({ success : onDataHandler, error: onErrorHandler, dataType: "jsonp" });

@muistooshort:我完全忘记了js的论点,谢谢你的提示。

这是我发现的......

Arguments[0] = looks like its just the letter "d"
Arguments[1] = is an object. Has readyState, responseText, status, statusText
Arguments[2] = is an object. Exactly the same as [1]

状态= 200,文本为“确定”。 responseText是我期望从PHP服务器模型接收的确切JSON数据。

所以我想现在的问题是为什么collection.fetch方法将成功结果发送给错误处理程序?我不相信fetch回调中的那些处理程序的顺序很重要。是吗?

1 个答案:

答案 0 :(得分:16)

好的,我找到了fetch回调和成功/错误处理程序的params签名。现在这些设置正确,fetch正在按预期工作。这是工作代码......

  var onDataHandler = function(collection, response, options) {
      console.log('membersview fetch onedatahandler');
      that.render();
  };

  var onErrorHandler = function(collection, response, options) {
      console.log('membersview fetch onerrorhandler');
      alert(response.responseText);
  };

  that.collection = new MembersCollection([]); 
  that.collection.fetch({ success : onDataHandler, error: onErrorHandler });

谢谢你们的回复。我非常需要/感谢你的建议: - )