我想使用AJAX的缓存功能。但这不符合我的要求。我想缓存我的所有请求。这是我的代码为什么Ajax请求没有得到缓存/
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'></script>
<script type='text/javascript'>
jQuery(document).ready(function (jQuery) {
call_ajax();
});
jQuery(window).scroll(function(){
call_ajax();
});
function call_ajax(){
jQuery.ajax({
type: "get",
cache : true,
data: {offset : 3},
dataType : "html",
url: 'http://localhost/contents.php',
success: function(returnData){
jQuery('.ajaxcontents').append(returnData);
},
});
}
</script>
<div id="ajaxcontents"></div>
在文件contents.php中,我设置标题如下。
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', strtotime("+5 days")), true);
header("Pragma: public");
header("Cache-Control: public");
当我检查在谷歌的请求的详细信息检查工具(网络标签下)它总是显示200,用于在第一时间和在这之后,当我滚动它显示200(从高速缓存)。为什么即使在我重新加载同一页面后,第一次不显示200(从缓存)?
@HeroFTime:其不相似。因为我的过期标题总是在将来。 – Mic
当你重新加载页面时,你确定你还没有进行缓存重新加载吗?您的资产是否从缓存中返回? –