Ajax не будет загружаться и показывать данные в IE 11, вызывать кеш - PullRequest
0 голосов
/ 15 мая 2019

Я использую Ajax, чтобы проверить данные и показать их на странице, и я использую кеш лака.Данные отображаются во всех браузерах, кроме IE 11, до тех пор, пока я не отключу кэш лака.

function checkMyData() {
var surl = 'index.php?eID=thismydata';
if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
    surl += '&hash=' + Math.random();
}
$.ajax({
    type: "GET",
    url: siteurl + surl,
    asynchronous: true,
    data: 'mode=datalist' +
            '&initdatalist=' + initdatalist +
            '&datastr=' + datastr,      
    success: function (answer) {
        var response;
        try {
            response = eval('(' + answer + ')');
        } catch (err) {
            alert('Err: ' + answer);
            return;
        }
        if (initdatalist == 1)
            initdatalist = 0;
        $basic_cont = '<div class="row"><div class="col-md-6 col-md-offset-3"><p class="data-title">' + 
                response.firstmatch + response.otherdata + '</p></div></div>' +
                response.matches;

        $("#thisdaydata").empty();
        $($basic_cont).appendTo("#thisdaydata");
    }
});
}

Вывод HTML для всех браузеров (кроме IE 11):

<div id="thisdaydata">
<div class="row">
   <div class="col-md-6 col-md-offset-3">
       <p class="data-title">data here</span></p>
   </div>
</div>

Вывод HTML для IE 11:

<div id="thisdaydata"></div>

этот ajax не совместим с IE 11?

1 Ответ

0 голосов
/ 16 мая 2019

IE будет автоматически кешировать ответы от GET-запросов, в то время как другие браузеры позволят вам решить, хотите ли вы кешировать результат или нет.Как только IE успешно выполнит запрос GET, он больше не будет даже выполнять этот вызов AJAX, пока не истечет срок действия кэша для этого объекта.Вы можете добавить cache : false значение в ваш AJAX.Для более подробной информации и методов вы можете обратиться к этой статье и к этому вопросу .

...