Версия для печати
Журналы: Игорь_Vasinsky -> PHP во сне и на яву
15 июня 2011
 21:59   Запрет каширования AJAX (JQuery)
#8 Запрет каширования AJAX (JQuery)

Возникла проблема, использую ajax для обработки данных -а именно: редактирование и сохранение файлов (шаблонов и т.д), так вот:
редактирую файл - жму сохранить - обработчик выдаёт "Всё пучком хозяин, я сохранил", лезу в редактор - там открыт этот файл - редактор говорит, что докумен обновлён - предлогает показать обновлённый - соглашаюсь, а там без изменений.

Оказалось - кеширование (причём тока на IE, Opera, FF - всё пучком), начал разнюхивать и вот:

функция jQuery $.ajax в качестве одного из аргуметнов принимает параметр cache (Boolean). Если cache=false, то jQuery автоматически добавит к запросу уникальный параметр (тот же timestamp). То есть приведенный выше код можно записать следующим образом:

Цитата
$.ajax({
    type: "GET",
    url: "/users/list",
    cache: false,
    /* ... */
});


Тут подводный камень в том, что если используется POST вместо GET, то jQuery опускает этот самый уникальный параметр за (якобы) ненужностью. То есть, если запрос посылается через GET, то можно смело использовать cache: false, но если запрос — это POST без параметров, то придется добавлять что-то типа data: { tstamp: new Date().getTime() }.

Комментарии :0

Нет комментариев к выбранной записи.

mJournal v1.05   © 2003-2004 by UriSoft and IBResource.ru