: Как кэшировать ответы AJAX (будет отображаться при следующем выборе пользователем вкладки)? - PullRequest
1 голос
/ 30 января 2010

Я заполняю содержимое своих вкладок с помощью вызовов AJAX с помощью виджета tabs из библиотеки jQuery UI.

Мой код выглядит так:

<script type="text/javascript">
    $(function() {
        $("#tabs").tabs({
            load: function(event, ui) { afterLoadProcessing(); }
        });
    });
</script>
...
<div id="tabs">
<ul>
  <li><a href="url1">tab1</a></li>
  <li><a href="url2">tab2</a></li>
</ul>
</div>

Работает нормально, и каждый раз, когда я нажимаю на вкладку, содержимое вкладки заполняется ответом на вызов AJAX.

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

Возможно ли это? (Я уверен, что это ...). Если да, какой самый простой способ сделать это? (фрагменты кода приветствуются)

Ответы [ 2 ]

4 голосов
/ 30 января 2010

установить кэш в true:

$("#tabs").tabs({
    load: function(event, ui) { afterLoadProcessing(); },
    cache : true
});

ссылка

1 голос
/ 30 января 2010

Есть два места, где вы можете указать кэширование на самих вкладках или, используя ajaxOptions, на ajaxCalls. Я бы попробовал использовать cache: true на вкладках, чтобы увидеть, работает ли это в первую очередь, а затем указать ajax-кэширование, а также с помощью параметра ajaxOptions на вкладке. Вам могут понадобиться оба.

...