JQuery-Ui Ajax Tabs ошибка? - PullRequest
       15

JQuery-Ui Ajax Tabs ошибка?

0 голосов
/ 06 мая 2010

У меня есть 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 })

но это плохо, потому что я не хочу каждый раз получать запрос ...
его следует кэшировать, если ответ отправлен.

с использованием jquery-ui 1.8.1

Ответы [ 2 ]

1 голос
/ 06 мая 2010

Обходной путь от средства отслеживания ошибок :
используйте это внутри события загрузки вкладок:

load: function(event, ui){
    $(ui.tab).data("cache.tabs",($(ui.panel).html() == "") ? false : true);
}
0 голосов
/ 06 мая 2010

Возможно, вы используете тот же объект XHR для вызова AJAX, что отменяет каждый предыдущий запрос. Насколько я понимаю, это неизбежно, поскольку вы не можете вручную создать запрос new XHR при использовании функции tabs.

Кроме того, у вас есть 20 (timeout: 20000,) второй тайм-аут при нажатии вашей вкладки. Какая польза от этого?

Hth

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...