Причина, по которой я спросил, какой браузер вы используете, заключается в том, что все браузеры ведут себя по-разному при выполнении запросов AJaX.В основном браузер прослушивает несколько «заголовков» внутри ответа на запрос.Один из этих «заголовков» устанавливает дату истечения срока действия для загруженных данных, которые вы не устанавливаете (при условии, что это полный код).Если вы продолжаете запрашивать данные по одному и тому же URL-адресу, вместо нового результата вы получите результат с кэшированием.
Принудительное выполнение браузером запроса новых данных каждый раз может быть выполнено через PHP с использованием header()
функция. Обратите внимание , что эта функция имеет для вызова перед отправкой любого вывода в браузер .Заголовки, которые вы должны включить, выглядят следующим образом:
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
Первый заголовок (очевидно) скажет браузеру повторную проверку содержимого при каждом запросе, второй немедленно сделает недействительным кеш (который используется в старыхбраузеры).
Еще один вариант сделать это, используя Javascript вместо PHP, - это изменять URL-адрес при каждом запросе.Это не лучший вариант, так как он будет создавать новые данные кэша при каждой перезагрузке страницы, но он будет работать.Вы можете сделать это, добавив некоторые случайные данные URL (например, "getPrenotazioni.php?id=" + Math.random()
).
Обратите внимание, что Я далеко не уверен, что это ваша проблема, но, вероятно, учитывая ваш код, выпредоставлена.Вы можете просто проверить это, открыв страницу в IE (или любом другом браузере, который вы уже открыли) после внесения изменений и посмотреть, отличаются ли страницы в разных браузерах.В качестве альтернативы вы можете загрузить страницу после внесения изменений и, если ничего не изменилось, очистить кэш и перезагрузить (CTRL + F5
).