点击验证码只能刷新一次

由于浏览器缓存机制,点击验证码只能刷新一次。为解决这个问题,可以通过添加不断变化的参数,如时间戳或随机数,来避免浏览器使用缓存的验证码图片。例如,将请求地址更改为http://loclhost:8080/项目名/code.jpg?x=每次都不同的值。
摘要由CSDN通过智能技术生成

点击验证码只能刷新一次

原因:浏览器为了让请求速度更快,就会把每次请求到的内容缓存到浏览器端。
浏览器第一次请求地址:http://loclhost:8080/项目名/code.jpg
服务器返回验证码图片:code.jpg=返回的图片内容
当浏览器再发一样的地址和参数的请求时,直接从缓存中找:http://loclhost:8080/项目名/code.jpg
直接从浏览器的缓存中获取原来的图片返回

由原因引出问题:
如何跳过浏览器的缓存,而发起请求给服务器获取新验证码?
缓存的名称由最后的资源名和参数组成
http://loclhost:8080/项目名/code.jpg?x=每次都不同的值

问题解决

每次都不同的值可以用时间戳或者随机数完成

代码如下

<img id="code_img"  src="code.jpg" ">
		//页面加载完成之后
        $(function () {
            //给验证码的图片,绑定单击事件
            $("#code_img").click(function (){
                this.src = "${basePath}code.jpg?d=" + new Date();
            });
        )}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值