Backbone sync
就会在模型/集合上触发error
事件。为了实现默认的错误处理机制,我正在我的视图中监听error
事件。这有效,但我希望能够区分错误保存(save
),删除(delete
)和检索(fetch
)。
因此,简而言之,这就是我想要的东西:
var MyView = Backbone.View.extend({
initialize: function(options){
this.listenTo(this.model, 'error', this.errorHandler);
},
errorHandler: function(model, xhr, options){
// logic would depend on whether the event was triggered by fetch,
// save, or delete
// How can I tell how the event was triggered?
}
});
Backbone是否为我提供了一种方法?是jqXHR对象吗?在这里寻找选择。
我知道我可以(有些人会说,应该)使用选项中的错误回调来获取等等,但我不想修改很多现有代码来创建默认行为。
我是否需要在基本模型中覆盖获取,保存和删除以命名事件,或者是否已经内置了某些内容?
由于
答案 0 :(得分:0)
Backbones错误事件的回调有3个参数:model,xhr和options(按此顺序)。
options
对象引用用于触发(失败请求的选项。因此,在其中,您应该能够看到使用了什么HTTP方法(我认为ti称为“类型”?) ,statusCode甚至是它试图发送请求的URL。