Backbone.js模型在页面本地更新自身及其视图 将数据传递给服务器并检查服务器的响应,如果是 服务器说“抱歉查理这不好”,该页面已经显示了数据 因为已经改变,因此没有正确地表示对象的服务器端状态。当服务器返回错误时,在Backbone.js端处理此问题的正确/优雅方法是什么?
答案 0 :(得分:2)
如果您正在直接编辑模型并尝试同步它,并同时在应用程序的其他位置使用它,那么这可能会导致一个问题世界。
在许多情况下,最好克隆模型进行编辑,然后在成功同步时,将克隆的属性重新应用于原始模型。
您只需致电:
即可获得克隆模型var clonedModel = originalModel.clone();
然后您可以将这些属性应用于成功处理程序,如
originalModel.set(clonedModel.attributes)
答案 1 :(得分:1)
如何将成功,错误回调函数传递给更新服务器端状态的语句。可能是这样的......
this.model.save(
{}, {
success: function() {
/* update the view now */
},
error: function() {
/* handle the error code here */
}
});
更高级别,您可以覆盖Backbone.sync以全局处理服务器端错误代码。
答案 2 :(得分:0)