ファイルからデータを読み込んで、表示している場合に、
ページ遷移をしてから、元のページに戻ると、キャッシュが効いていて、データが古いものが表示されている場合がありましたので、これの修正方法です。
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デザインなどの制作