簡體   English   中英

Backbone.js“錯誤”事件:我如何知道哪個方法(獲取,保存,刪除)觸發了它?

[英]Backbone.js 'error' event: how do I know which method (fetch, save, delete) triggered it?

只要響應不是200狀態代碼,骨干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? 
  }  
});

骨干網給我提供了一種方法嗎? jqXHR是否對象? 在這里尋找選項。

我知道我可以(有些人應該說)在選項中使用錯誤回調來獲取信息,等等。但是我不想修改很多現有代碼來創建默認行為。

我是否需要重寫基本模型中的獲取,保存和刪除以對事件進行命名空間,或者是否已內置事件?

謝謝

Backbones錯誤事件的回調具有3個參數:model,xhr和options(按此順序)。

options對象指的是用於觸發(失敗的請求的選項。因此,在其中,您應該能夠看到使用了哪種HTTP方法(我認為ti稱為“類型”?),statusCode甚至是URL它試圖將請求發送給。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM