У меня есть страница с некоторыми редактируемыми функциями, которые обновляются через Ajax при их редактировании. Существуют некоторые значения, которые хранятся в файле cookie, чтобы их можно было загружать при загрузке страницы. Если пользователь вносит изменения, затем переходит на другую страницу и нажимает кнопку «Назад» для возврата, исходная страница загружается из кеша без новых значений. Если пользователь обновляет страницу, изменения перезагружаются из файла cookie, и отображаются правильные значения. Можно ли аннулировать кеш, когда страница динамически изменяется? Я хочу, чтобы иметь возможность использовать кеш браузера, поэтому я не хочу, чтобы страница всегда приводила к недействительности кеша браузера, если я могу ему помочь. Любые рекомендации приветствуются.Как аннулировать кеш при изменении страницы с помощью Ajax?
3
A
ответ
0
Вам необходимо установить заголовки кеша в ответе HTTP.
В зависимости от вашей технологии вы можете сделать это на веб-сервере (например, на основе соответствующего URL-адреса) или в своем коде (например, установите заголовок с помощью фреймворка или какого-либо вызова API).
В частности:
no-cache
expires
Есть те, которые вы хотите.
1
Вы можете загрузить свои данные через Ajax в первую очередь.
$(document).ready(function(){
$.get("your_ajax_url");
});
Затем, когда вы нажмете кнопку возврата вызова Ajax повторяется и на стороне сервера, вы отправить ответ HTTP с правильно установленным кэшем или заголовки Etag.
0
вы можете написать, как этот
$.ajax(
{
url: 'Serverpage name'
cache: false,
type: 'POST',
success: function(msg)
{
});
});
Здесь настройки кэша: ложь, не будет установлен какой-либо кэш.
Смежные вопросы
- 1. Как обновить или аннулировать кеш с помощью SimpleCachingPageFilter в Ehcache?
- 2. Как аннулировать кеш при бенчмаркинге?
- 3. Как аннулировать кеш произвольного URL?
- 4. Как запустить скрипт Greasemonkey при изменении страницы с помощью ajax?
- 5. Как аннулировать токен OAuth при изменении пароля?
- 6. Как аннулировать кеш с помощью ASP.NET MVC 4.0 DonutOutputCache VaryByCustom
- 7. Обновить кеш redis при изменении БД
- 8. Сохранение истории браузера при изменении содержимого страницы с помощью Ajax
- 9. Можно ли аннулировать кеш определенного изображения с помощью ImageResizer?
- 10. Как аннулировать кеш в драйвере ядра?
- 11. Шаблоны Python - Mako - Как аннулировать кеш?
- 12. Как аннулировать кеш-страницу в Django?
- 13. Как аннулировать кеш из NSBundle в Swift
- 14. Как аннулировать кеш контейнера в Symfony2?
- 15. Как обновить кеш только при изменении данных?
- 16. Как пропустить кеш фрагмента при изменении локали?
- 17. Rails: как аннулировать кеш действия, который принимает параметры?
- 18. Невозможно аннулировать кеш, зависящий от SQL-запроса
- 19. Как я могу аннулировать кеш HTTP с заголовком Location?
- 20. Как загрузить раздел страницы с помощью ajax при загрузке страницы?
- 21. Отображение запроса AJAX при щелчке даже при изменении страницы?
- 22. Firebug не обновляет кеш при изменении JavaScript
- 23. Как аннулировать реактивный наблюдатель с помощью кода?
- 24. Обновление страницы при изменении mysql?
- 25. Как сбросить кеш браузера при перезагрузке страницы
- 26. Как сохранить позицию страницы при изменении window.location?
- 27. Как изменить ячейку заголовка при изменении страницы?
- 28. Сбросить уровень масштабирования браузера при изменении страницы
- 29. Как аннулировать кеш браузера после выхода из приложения js узла
- 30. Как заставить кеш-кеш в производстве с Symfony2 при изменении его содержимого
Спасибо за ответ Джейсон. Я могу решить проблему, установив заголовок, чтобы страница никогда не кэшировалась браузером, но большую часть времени мы хотим разрешить кэширование браузера. Это только в тех случаях, когда контент изменяется с помощью Ajax, что мы хотим аннулировать кеш браузера для этой страницы. Вызов Ajax не обновляет кеш браузера, если страница не перезагружена, поэтому, если вы покинете страницу и вернетесь через кнопку «Назад», изменения не отображаются. Еще раз спасибо – Andre