【问题标题】:Why reloading a captcha image via Ajax GET fails in IE?为什么在 IE 中通过 Ajax GET 重新加载验证码图像失败?
【发布时间】:2011-08-31 07:46:35
【问题描述】:

我尝试使用简单的 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-Request 以使其唯一。但是第一次重新加载后请求无法到达映射路径。

我知道有一些关于 IE 和 Ajax GET 的问题,但是找不到我的问题的答案。请问你有同样的问题,可以展示你的解决方案吗?!谢谢

【问题讨论】:

    标签: jquery ajax internet-explorer get captcha


    【解决方案1】:
    $.ajaxSetup({
      cache: false
    });
    

    //rest of the ajax code here

    jquery ajaxSetup

    【讨论】:

    • 我要快速接受它 n 应该等待 3 分钟,现在你得到了你的分数 :)
    猜你喜欢
    • 2019-04-11
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    相关资源
    最近更新 更多