thinkPHP 中为什么刷新验证码要加入一个随机数

来源:互联网 发布:java中的set和get方法 编辑:程序博客网 时间:2024/05/17 16:12

Login_index.html:

<script type="text/javascript">
           var verifyUrl = '{:U("Admin/Login/verify",'','')}';//第三参数为空即不加后缀名
</script>
<script type="text/javascript" src="__PUBLIC__/Js/login.js"></script>


<tr>
<th>验证码:</th>
<td>
<input type="code" class="len250" name="code"/> <img src="
{:U('Admin/Login/verify')}" id="code"/> <a href="javascript:void(change_code(this));">看不清</a>
</td>
</tr>

login.js:

function change_code(obj){
$("#code").attr("src",verifyUrl + '/' + Math.random());//加个随机数重新刷新页面即刷新了验证码。
return false;
}


由于浏览器会对同一 url 的图像进行缓存,减少服务器端的请求次数,提高浏览性能。

利用附加一个随机数,来避免客户端浏览器使用缓存。让每次点击刷新验证码的时候

请求的 URL 路径都不同,告诉浏览器上个图片已经失效了,需要重新向服务器上请求

新的图片信息。

因为如果每次都是请求同一个页面,此时客户端浏览器会调用缓存中的页面。

而如果你每次都附加一个不同随机数给url,那么客户端会以为是新的页面,从而会向

服务器请求,这样才能实现每次点击都会刷新验证码的效果。


0 0
原创粉丝点击