在使用验证码的时候,图片是动态的
<img id="captchaimg" src="${pageContext.request.contextPath}/checkCodeAction/service.do" title="换一张">
在点击图片换一张的时候在js里面如果这样写:<pre name="code" class="html"> $("#captchaimg").click(function(){
$(this).attr("src", "checkCodeAction/service.do");
});
出现的结果是不刷新,这是什么原因呢,这是因为浏览器已经将图片缓存,如果修改了图片地址src重新请求,但是他们地址一样的话,浏览器会把缓存的图片图片贴出来而不是重新请求,所以这样修改图片属性的时候要修改图片请求的地址,最简单的方法就是加一个时间戳。
$("#captchaimg").click(function(){
<span style="white-space:pre"> </span>// $(this).attr("src","/captcha/gen?timestamp="+(new Date).getTime())});
<span style="white-space:pre"> </span>// var u = <%=request.getContextPath()%>;
<span style="white-space:pre"> </span>$(this).attr("src", "checkCodeAction/service.do?timestamp="+(new Date).getTime());
<span style="white-space:pre"> </span> });