Вы проверили, что он не кэшируется браузером?
Вы также убедились, что запрос AJAX не вызывает ошибку 404 и действительно получает действительные данные?
Похоже, что это будет очень «кэшируемым», поскольку это запрос GET и не имеет строки запроса.
Несколько вещей, которые могут помешать кэшированию:
- Возвращать заголовки с сервера для предотвращения кэширования
- Измените его на POST-запрос
- Добавляйте разные строки запроса к каждому запросу
Для получения дополнительной информации
Заголовки:
https://stackoverflow.com/a/21609642/5302749
Добавьте это перед своим ответом:
header('Expires: Sun, 01 Jan 2014 00:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
POST-запрос https://api.jquery.com/jquery.post/ а> -
Страницы, полученные с помощью POST, никогда не кэшируются, поэтому параметры cache и ifModified в jQuery.ajaxSetup() не влияют на эти запросы.
Каждый раз добавлять новую строку запроса. Как упомянул @Barmar, вы также можете указать cache: false
в качестве опции. Я полагаю, что некоторые версии jQuery не позволят вам передать эту опцию напрямую в $.get, поэтому я изменил его на $.ajax, также обработка ошибок всегда является хорошей идеей, поэтому я добавил обратный вызов .fail
.
$(function() {
function reloadTable(){
$.ajax({
url: "pot1.php",
cache: false,
})
.done(function( data ) {
$( "#pot" ).html( data );
})
.fail(function(jqXHR, textStatus, errorThrown){
console.log('Error: ' + textStatus ); // error handling here
});
}
reload = setInterval(reloadTable, 1000);
});
Или добавить параметр вручную (это только выглядит меньше, поскольку обработка ошибок не включена) - я думаю, что лучше не изобретать велосипед и просто использовать встроенные функции jQuery, где это возможно.
$(function() {
var reloadCount = 0;
function reloadTable(){
reloadCount++;
$.get("pot1.php?reloadCount=" + reloadCount, function(data) {
$("#pot ).html(data);
});
}
reload = setInterval(reloadTable, 1000);
});
21.10.2016
$.ajax
с параметромcache: false
. Он работает, добавляя случайный параметр URL, как вы делаете. 22.10.2016