2010-11-03 3 views

ответ

30

Опция cache не является специальным кешем, который поддерживает jQuery, поэтому, возможно, это немного неправильно.

  • cache: false добавляет метку времени к URL запрашивается, поэтому он силы браузера, чтобы захватить новую копию, это больше кэш-прерывателя.
  • cache: trueничего не делает, собственное кэширование браузера остается делать все, что он собирается делать здесь.

Это не специфическая вещь jQuery, это просто, как разные браузеры предпочитают кэшировать ответ или нет. If your cache headers are set correctly сообщая обозревателю - кешируйте его, тогда он должен. Тем не менее, IE любит кэшировать ад из запросов, даже если нет инструкций заголовка, которые нужно сделать для ... это Вероятно, поведение, которое вы видите. Если это то, что вам нужно, добавьте заголовки управления кэшем (см. Ссылку выше) на ваши страницы, которые вы хотите сохранить в других браузерах.

+1

Я думаю, что ваши булевы назад. 'cache: false' добавляет строку запроса timestamp, в то время как' cache: true' по умолчанию работает в браузере. – RANGER

+0

@cbh - ты прав, обновлен! –

+0

Почему оператор принял ответ? У меня такая же проблема с Chrome. Независимо от того, что я делаю, я не могу получить 304 для запроса ajax, даже если сервер правильно отправляет заголовки Etag и Last-Modified. Я также получаю 304 при запросе URL-адреса непосредственно из адресной строки, но не из ajax, поэтому это явно не проблема сервера. – cap

Смежные вопросы