骨干网在model.save上的错误回调只使用两个参数error: function(model, response){}。在我的应用程序中,如果乐观锁定失败,则设置409 conflict状态(这很容易检索)。但是,服务器还发送详细说明问题的自定义错误消息。
现在,服务器发送一个更新的JSON响应和更新的模型以及一个错误消息,说明问题所在。看来,脊骨可以抑制这一错误。根据jquery的错误回调,签名是error(jqXHR, textStatus, errorThrown)。似乎骨干网放弃了最后一部分,因此我似乎无法掌握服务器的自定义响应。
这是个好做法吗?我真的不希望仅仅为了访问errorThrown参数而复制主干的保存功能。是否有一种无缝的方式访问errorThrown?还是不让服务器发送自定义响应(只发送代码)并让客户端构建响应以供查看,是更好的做法吗?
发布于 2016-04-19 19:34:08
主干将两个参数传递给成功和错误的情况。第一个是您要保存的模型,第二个是来自服务器的响应。如果响应是JSON,则可以通过调用response.responseJSON来访问它
this.model.save(null, {
success: function(model, response) {
console.model(response);
},
error: function (model, response) {
console.log(response.responseJSON);
}
});发布于 2012-08-08 18:14:38
response对象应该具有属性.responseText和.statusText。根据服务器构建响应的方式,其中一个属性可能包含要查找的错误文本。
https://stackoverflow.com/questions/11870479
复制相似问题