页面将验证码响应到前台
<img class="yzm_img" alt="加载失败" id='imgVcode' src="<s:url value="/user/getImageCode"/>" />
<a href="#" id="changeImg">看不清楚?换个图片</a>
点击图片,使用id选择器绑定点击事件,再次向action发送请求,拼接一个时间戳
//点击图片更换验证码 拼接时间戳
$("#imgVcode").click(function(){
$(this).attr('src',"${pageContext.request.contextPath }/user/getImageCode?d="+new Date().getTime());
});
点击文字,使用id选择器绑定点击事件,再次向action发送请求,拼接一个随机数
//点击更换验证码 拼接随机数
$("#changeImg").click(function(){
$("#imgVcode").attr('src',"${pageContext.request.contextPath }/user/getImageCode?d="+Math.random());
});
拼接的参数d是一个随机数,后台不用接收,当第一次访问页面获得验证码之后,浏览器会加入缓存,拼接时间戳和拼接随机数都是为了骗过浏览器缓存,让浏览器认为发送的是不同的请求,从新获取验证码从新响应。