Backbone 的错误回调model.save
只需要两个参数error: function(model, response){}
。在我的应用程序中,如果乐观锁定失败,409 conflict
则会设置一个状态(这很容易检索)。但是,服务器还会发送一条自定义错误消息,详细说明该问题。
现在,服务器会发送更新后的 JSON 响应以及更新后的模型 以及说明问题所在的错误消息。看来,主干抑制了这个错误。根据 jquery 的错误回调,签名是error(jqXHR, textStatus, errorThrown)
. 似乎 Backbone 丢弃了最后一部分,因此我似乎无法掌握服务器的自定义响应。
这是一个好习惯吗?我真的不希望复制主干的保存功能只是为了访问errorThrown
参数。是否有无缝的方式来访问errorThrown
?或者最好不要让服务器发送自定义响应,只发送代码并让客户端构建响应以供查看?