我有一个无法缓存的 JSON 文件。我使用 JS 从 history.php 文件中请求它:
$.getJSON("./data/history/" + <?php echo $data['id']; ?> + ".json", function(data) {
var history_data = '';
$.each(data, function(key, value) {
history_data += '<tr>';
history_data += '<td>' + value.time + '</td>';
if (value.counts > 0) {
history_data += '<td class="hiscountsg">+' + value.counts + '</td>';
} else {
history_data += '<td class="hiscountsr">' + value.counts + '</td>';
}
history_data += '<td>' + value.owner + '</td>';
history_data += '</tr>';
});
$('#histab').append(history_data);
});
一切正常显示,但是更新文件89.json时,请求这个文件时,显示旧值。在发送此请求的文件中,有一个用于设置 http 标头以禁用缓存的功能:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0,pre-check=0", false);
header("Cache-Control: max-age=0", false);
header("Pragma: no-cache");
请帮忙,我不知道该怎么办。
PS 在禁用缓存的 Firefox 开发者版浏览器中,一切正常
决定向带有时间戳的文件发送 GET 请求
然后浏览器会不断地再次请求该文件,但如果有更好的解决方案,我会很高兴!