:如何缓存AJAX响应(下次用户选择选项卡时显示)?

时间:2010-01-29 22:32:38

标签: jquery ajax jquery-ui jquery-ui-tabs

我使用来自jQuery UI库的tabs小部件的AJAX调用来填充我的标签内容。

我的代码就是这样:

<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 个答案:

答案 0 :(得分:4)

将缓存设置为true:

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

reference

答案 1 :(得分:1)

有两个地方可以在选项卡本身上指定缓存,或者使用ajaxOptions在ajaxCalls上指定缓存。我会尝试在选项卡上使用cache:true来查看它是否先工作,然后通过选项卡设置中的ajaxOptions选项指定ajax缓存。你可能需要两者。