Javascript jQueryUIAjax选项卡bug?

Javascript jQueryUIAjax选项卡bug?,javascript,jquery,ajax,jquery-ui,Javascript,Jquery,Ajax,Jquery Ui,我有一个JSON,它从要构建的选项卡服务器返回, 所以我在我的JS中初始化它们,如下所示: $('#tabs').tabs( 'ajaxOptions', { timeout: 20000, error: function(xhr, status, index, anchor){ console.log( status, index, anchor ); } }) .tabs('add', item.CategoryLink, item.CategoryNa

我有一个JSON,它从要构建的选项卡服务器返回,
所以我在我的JS中初始化它们,如下所示:

$('#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})

但这是一件坏事,因为我不想每次都有请求…
如果发送了响应,则应将其缓存


使用
jqueryui1.8.1

您可能对AJAX调用使用了相同的XHR对象,从而取消了以前的每个请求。在我看来,这是不可避免的,因为在使用
选项卡
功能时,您无法手动创建
新的
XHR请求

此外,单击选项卡时还有20(
超时:20000,
)秒超时。那有什么用

Hth

解决方案来自:
在选项卡加载事件中使用此选项:

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

因为我有需要很长时间才能加载的选项卡,所以我给它们20秒的响应机会,然后我会提示一个错误。我能想到的唯一解决办法是自己重写选项卡我看到有一个漏洞: