Как предотвратить запрос jQuery Ajax от кеширования в Internet Explorer?

Как предотвратить запрос кеширования jQuery Ajax в Internet Explorer?

Ответ 1

Вы можете отключить кеширование глобально, используя $.ajaxSetup(), например:

$.ajaxSetup({ cache: false });

Это добавляет временную метку к запросу при выполнении запроса. Чтобы отключить кеш для определенного вызова $.ajax(), установите cache: false на нем локально, например:

$.ajax({
  cache: false,
  //other options...
});

Ответ 2

Если вы задаете уникальные параметры, кеш не работает, например:

$.ajax({
    url : "my_url",
    data : {
        'uniq_param' : (new Date()).getTime(),
        //other data
    }});

Ответ 3

Cache-Control: no-cache, no-store

Эти два значения заголовка могут быть объединены, чтобы получить необходимый эффект как для IE, так и для Firefox

Ответ 4

Вот предложение ответа:

http://www.greenvilleweb.us/how-to-web-design/problem-with-ie-9-caching-ajax-get-request/

Идея состоит в том, чтобы добавить параметр в ваш запрос ajax, содержащий, например, текущую дату, поэтому браузер не сможет кэшировать его.

Посмотрите на ссылку, это хорошо объяснено.

Ответ 5

Это старый пост, но если IE дает вам проблемы. Измените свои запросы GET на POST, и IE больше не будет кэшировать их.

Я потратил слишком много времени на то, чтобы понять это с трудом. Надеюсь, что это поможет.