Браузер все равно кеширует данные файла

223
02 января 2018, 16:17

У меня есть файл JSON, который нельзя кешировать. Я его запрашиваю из файла history.php средствами JS:

$.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");

Помогите пожалуйста, не знаю что делать.

P.S. В браузере Firefox Developer Edition с отключенным кешированием все работает

Answer 1

Решил отправлять GET запрос к файлу с меткой времени

$.getJSON("./data/history/" + <?php echo $data['id']; ?> + 
".json?"+Math.round(new Date().getTime()/1000), function(data) {}

Тогда браузер будет постоянно запрашивать файл заново, но если есть какой-нибудь вариант решения получше, буду рад!

READ ALSO
Работа с Amazon Api

Работа с Amazon Api

ЗдраствутеНужно сформировать конкретный запрос к апи амазона

219
AdBlock + ajax Не видит элемент

AdBlock + ajax Не видит элемент

На сайте с помощью

254