以下主干collection.fetch代码由于某种原因而触发错误,然后跳转到错误处理程序(如预期的那样),但是我真的不知道错误处理程序的参数是什么。引发错误时,未定义model,xhr和options参数。我究竟做错了什么?
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回调中的顺序很重要。可以?
最佳答案
好的,我找到了提取回调和成功/错误处理程序的params签名。既然已经正确设置了这些,则提取将按预期工作。这是工作代码...
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 });
谢谢你们的答复。我非常需要/感谢您的建议:-)
关于backbone.js - 骨架js collection.fetch错误处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17871129/