为什么在IE中通过Ajax GET重新加载验证码图像会失败?

时间:2011-08-31 07:46:36

标签: jquery ajax internet-explorer get captcha

我尝试使用简单的ajax GET重新加载新的验证码图像。在FF和Chrome中运行良好但是,但在所有IE中,它在第一次重新加载后失败。 删除浏览器缓存后,请求成功,我得到一个新的Captcha。

我正在使用此代码:

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-Request添加时间戳以使其唯一。但是在第一次重新加载后,请求无法到达映射路径。

我知道有一些关于IE和Ajax GET的问题,但无法找到问题的答案..你可能遇到同样的问题,可以展示你的解决方案吗?! THX

1 个答案:

答案 0 :(得分:2)

$.ajaxSetup({
  cache: false
});

//rest of the ajax code here

jquery ajaxSetup

相关问题