我想使用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
當你重新加載頁面時,你確定你還沒有進行緩存重新加載嗎?您的資產是否從緩存中返回? –