2010-05-06 73 views
0

我有一個JSON從標籤建造一,
所以我初始化他們在我的JS這樣的服務器將返回:jQuery-Ui Ajax選項卡錯誤?

$('#tabs').tabs('ajaxOptions', { 
    timeout: 20000, 
    error: function(xhr, status, index, anchor){ 
     console.log(status, index, anchor); 
    } 
}) 
.tabs('add', item.CategoryLink, item.CategoryName); 

的是,當我點擊一個標籤,它是前完成加載我點擊另一個選項卡,
以前的請求被中止並且再次單擊第一個時再也不會再次調用!
這是非常糟糕的,因爲它顯然沒有提取請求,所以給了什麼?
我試圖通過設置繞過此:

.tabs({ cache: false })

但這是一個壞事情,因爲我不想以後每次有一個請求......
應該cachced如果響應已發送。

使用jquery-ui 1.8.1

+0

我看到有對錯誤的公開售票:http://dev.jqueryui.com/票/ 5465 – vsync 2010-05-06 15:34:40

回答

1

bug tracker解決方法:
使用此選項卡里面加載事件:

load: function(event, ui){ 
    $(ui.tab).data("cache.tabs",($(ui.panel).html() == "") ? false : true); 
} 
0

您可能正在使用AJAX調用同一個XHR對象,從而消除了以往每次請求。就我所見,這是不可避免的,因爲在使用tabs函數時,您無法手動創建new XHR請求。

此外,您單擊選項卡時有20(timeout: 20000,)秒超時。那有什麼用處?

H個

+0

,因爲我有選項卡需要很長時間來加載,所以我給他們20秒的機會來回應,然後我提示一個錯誤。我能想到的唯一解決方案是自己重寫Tabs – vsync 2010-05-06 13:02:48