我有一个 RESTful JSON api,用于执行这样的服务器端调用:
Servlet.prototype.ajaxJSON = function (jobject, func, context) {
var self = this;
$.getJSON(this.name, jobject, function (json) {
...
}).fail(function(jqXHR, status, errorThrown) {
var callname = JSON.stringify(jobject).slice(1,JSON.stringify(jobject).indexOf(':'));
if(func !== null) {
func(JSON.parse('{' + callname+': {"error": "Server Error:' + errorThrown + '"}}'));
}
});
};
但是,当我尝试在模型中使用错误回调时:
newComment.save(null, {
'success': _.bind(function(model, response) {
...
}, this),
'error': function(model, error) {
errorAlert(error, 'Could not post comment');
}
});
出于某种原因,我得到了一个错误参数的主干模型。我已经浏览了代码,看起来 Backbone 有某种自定义的 wraperror 方法,它把一切都搞砸了。谁能告诉我这里发生了什么?谢谢!