Как предотвратить кеширование jQuery Ajax-запроса в Internet Explorer? - PullRequest
262 голосов
/ 29 ноября 2010

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

Ответы [ 6 ]

507 голосов
/ 29 ноября 2010

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

$.ajaxSetup({ cache: false });

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

$.ajax({
  cache: false,
  //other options...
});
21 голосов
/ 13 октября 2012

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

$.ajax({
    url : "my_url",
    data : {
        'uniq_param' : (new Date()).getTime(),
        //other data
    }});
12 голосов
/ 29 ноября 2010
Cache-Control: no-cache, no-store

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

5 голосов
/ 18 января 2013

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

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

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

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

0 голосов
/ 21 марта 2019

вы можете определить это так:

let table = $('.datatable-sales').DataTable({
        processing: true,
        responsive: true,
        serverSide: true,
        ajax: {
            url: "<?php echo site_url("your url"); ?>",
            cache: false,
            type: "POST",
            data: {
                <?php echo your api; ?>,
            }
        }

или как это:

$.get({url: <?php echo json_encode(site_url('your api'))?>, cache: false})

надеюсь, это поможет

0 голосов
/ 12 мая 2015

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

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

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