В настоящее время я начал проект, включающий AJAX, и столкнулся с проблемой. При использовании Microsoft Edge (и Internet Explorer) он не будет обновлять данные, если я не закрою всю страницу и не открою ее снова, или если я открою свой файл PHP, из которого я отправляю данные через AJAX.
Кто-нибудь не знает, как решить эту проблему с помощью PHP и / или Javascript?
заранее спасибо
«Быстрое решение» заключается в использовании опции cache: false метода $ .ajax, но это действительно неправильный способ решения этой проблемы, если у вас есть контроль над сервером. Вместо этого вам нужно, чтобы php возвращал заголовок no-cache для сервисов, которые вы не хотите кэшировать, и заголовок кэша для сервисов, которые вы хотите кэшировать.
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.
Приведенный выше код был взят из ответа BalusC здесь: Как контролировать кэширование веб-страниц во всех браузерах?
В противном случае у вас должен быть htaccess, который указывает, какие файлы должны кэшироваться, например статические ресурсы, которые не изменяются часто (.html, .js, .css и т. Д.)
Вы можете проверить некоторые ответы Вот. Я не думаю, что браузер позволит вам очистить кеш напрямую через javascript. Однако есть обходные пути, которые могут решить вашу проблему.