【发布时间】: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