以下主干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回调中的那些处理程序的顺序很重要。是吗?
答案 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 });
谢谢你们的回复。我非常需要/感谢你的建议: - )