Почему перезагрузка изображения с помощью 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