2012-03-22 48 views
0

我打電話給$('#tabs').tabs('load',0)加載第一個選項卡,服務器返回500內部錯誤的響應。如何處理jquery Tab中的加載錯誤?

我想知道如何接收和處理這個錯誤事件?我沒有看到與此相關的任何事件。

+0

你在加載什麼標籤? – Asdfg 2012-03-22 03:19:04

+0

只是從服務器呈現一個HTML。沒什麼特別的。我只是想處理這個情況,以防在後端出現錯誤。 – Rocky 2012-03-22 03:38:58

+0

如果你在裏面使用AJAX請求,你可以捕獲錯誤,但我不認爲你至少可以在jQuery選項卡中捕獲HTML解析錯誤。 – Asdfg 2012-03-22 03:40:54

回答

1

我不能看到一種可能性,要麼只要你不想擴展現有的標籤功能添加一個錯誤事件,你可以看一下,一般誤差jQuery中處理事件:

http://api.jquery.com/ajaxError/

這並不完美,但可能是一種方法。

+0

謝謝,但我不明白爲什麼這個插件沒有提供處理這個問題的機會。 – Rocky 2012-03-22 03:40:04

+0

我完全同意,是的。 – Marc 2012-03-22 03:54:06

1

雖然很是煩人,這不是可以作爲一個內置的設置選項卡的功能,還有通過AJAX加載錯誤處理選項卡,而不必使用.ajaxError的方式。如果您在console.log(ui)beforeLoad屬性的選項卡設置中,您將看到一個名爲jqXHR的對象,該對象顯示您在正常$.ajax().done().fail()上獲得的.fail函數。你可以利用這個來滿足你的需求。

$(tabname).tabs({ 
    beforeLoad: function (e, ui) { 
     ui.jqXHR.fail(function (e) { 
      // Your fail logic 
     }); 
    } 
}); 
+0

這是值得接受的答案 – user1068352 2016-07-15 09:32:13