Почему перезагрузка изображения с помощью Ajax GET не выполняется в IE?

Я пытаюсь перезагрузить новое изображение с помощью простого ajax GET. Прекрасно работает в FF и Chrome, но во всех IE он не работает после первой перезагрузки. После удаления кэша браузера запрос успешно выполняется, и я получаю новую капчу.

Я использую этот код:

function generateCaptcha() {

 var timestamp = (new Date()).getTime();

requestMappingCaptcha = "/javaWeppAppPath/generateCaptcha";

jQuery.get(requestMappingCaptcha, timestamp, function(data) {
            $("#captchaImg").slideUp("fast");

            if (!$.browser.msie || ($.browser.msie && $.browser.version == "9.0")) { 
                // animate reloadArrows
                $("#reloadArrows").rotate({
                    angle:0, 
                    animateTo:360
                });  
            }

            // setting new source
            var newSrc = $("#captchaImg").attr("src").split("?");
            newSrc = newSrc[0] + "?" + timestamp;
            $("#captchaImg").attr("src", newSrc);
            $("#captchaImg").slideDown("fast");
    });

}

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

Я знаю, что есть некоторые проблемы с IE и Ajax GET, но я не могу найти ответ на мою проблему. Может, у вас была такая же проблема и вы можете показать свое решение?! Спасибо

1 ответ

Решение
$.ajaxSetup({
  cache: false
});

//rest of the ajax code here

jquery ajaxSetup

Другие вопросы по тегам