jQuery.ajax - принудительно аннулирует кеш - PullRequest
1 голос
/ 20 июля 2009

Я использую jQuery.ajax (http://docs.jquery.com/Ajax/jQuery.ajax) для вставки содержимого другой веб-страницы в текущую страницу. Думайте об этом как о окне «предварительного просмотра». У jQuery есть необязательный аргумент кэша, который прекрасно работает при загрузка содержимого из кэша вместо повторного запроса той же страницы.

Моя проблема в том, что вводимое содержимое можно редактировать из другого места. Когда это происходит, я хочу аннулировать кеш в браузере, чтобы в следующий раз, когда запрашивается содержимое страницы, jQuery будет запрашивать страницу вместо использования кеша. Я мог бы установить аргумент cache в false, но тогда содержимое никогда не будет кэшировано. Мне нужно, чтобы содержимое кэшировалось и запрашивалось повторно только после изменения исходного содержимого.

Как я могу сделать недействительной текущую кэшированную веб-страницу?

1 Ответ

2 голосов
/ 20 июля 2009

По моему мнению, это невозможно. Предположим, что вы вызываете update.php с помощью вызова AJAX. Теперь каждый раз, когда вы хотите использовать кэшированную версию. Но время от времени вы хотите некэшированную версию. Вы должны сообщить своему сайту, чтобы использовать некэшированную версию. Таким образом, вам может понадобиться другой параллельный скрипт, который проверяет, должен ли ajax извлекать кэшированную или некэшированную версию update.php, которая в основном побеждает вашу цель.

Я думаю, что вы можете достичь этого, используя E-теги:

http://en.wikipedia.org/wiki/HTTP_ETag

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...