我尝试使用简单的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