jquery キャッシュしない方法いくつか


 

ファイルからデータを読み込んで、表示している場合に、
ページ遷移をしてから、元のページに戻ると、キャッシュが効いていて、データが古いものが表示されている場合がありましたので、これの修正方法です。

ajaxのキャッシュ読み込みをfalseする

$.ajax({
    url: "data.txt",
    cache: false,
    success: function(data) {
        // dataを処理する
    }
});
//このcacheを明示しないと、cache:trueになり、キャッシュが効いています。

.htaccessファイルに以下のように記述する

<IfModule mod_headers.c>
    Header set Cache-Control "no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires 0
</IfModule>

PHP利用の場合

<?php
header("Cache-Control: no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0");
?>

metaタグに追加

<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="0">

などなどいくかあるが、metaタグは「おまじない」程度の効果しかないようだ。
「お願いだから、キャッシュしないでねーー」と言っているということで、それを聞くかどうかは、
HTTPプログラムやブラウザ次第らしい。

とりあえず、今回は、ajaxのやり方でうまく行きました。

WEBプログム、WEBデザインなどの制作については、以下を御覧ください。

WEBプログム、WEBデザインなどの制作