菜鸟的采坑记录之一。
本文应用场景很简单, 就是验证码验证失败进行error回跳的时候并没有执行刷新, 因为TP5的error方法执行的跳转地址默认是javascript:history.back(-1); 所以,页面并没有刷新,验证码也就没有刷新操作。
<img src="{:url('home/login/verify')}" id="captcha" onclick="this.src='{:url("verify")}?'+'rand='+Math.random()" class="yzm fr" />
//这是验证码<img>
解决办法也很简单,写这样一段js函数。
function captcha() {
var captcha = document.getElementById('captcha');
captcha.src = '{:url("home/login/verify")}?' + 'rand=' + Math.random();
}
在需要的地方调用 captcha();
如果你遇到就是第一次登录总是错误,你也可以在页面加载的时候运行一次这个JS。
$(function() {
captcha();
})
以上。