怎么快速的生成验证码
如何快速的生成验证码?我在登陆首页有个验证码功能,从网上找了好多种方式,都实验了一遍。在刷新整个页面的
如何快速的生成验证码?
我在登陆首页有个验证码功能,从网上找了好多种方式,都实验了一遍。在刷新整个页面的时候验证码都能很快的过来,但是如果我只点击图片本身刷新的时候就非常非常慢,代码普遍都是这样:
function refresh(obj) {
obj.src = "/randomservlet?"+Math.random();
}
<input type="text" name="randomCode"/><img title="点击更换" onclick="javascript:refresh(this);" src="/randomservlet"><br/>
我去12306网站的登陆页面看了一下,12306的验证码图片刷新就非常快,点击一下基本上都是一秒之内就换,请问这是怎么实现的?各位是否有相关的代码?网上提的几种方式都不行。
PS:我的验证码方式也非常简单,跟12306是一样的,4位数字字母混合的方式。
[最优解释]
<img src ="XXX/XXservelt" onclick="changCode(this)" >
function changCode(obj){
$(obj).removeAttr('src');
$(obj).attr('src','XXX/XXservelt');
}
我曾经用上面的代码实现验证码 很快
[其他解释]
<p>
<label class="nature">验证码:</label>
<input type="text" id="txtCode" name="checkCode" maxlength="4" style="width:78px;margin-right:5px;" onkeyup="doLogin1(event)"/>
<img src="/app/pm/servlet/chart_checkCode.svl?random=0.47210467518321286" id="imgCode" title="点击更换图片"
style="vertical-align:bottom;cursor:pointer;" onclick="this.src='/app/pm/servlet/chart_checkCode.svl?random='+Math.random()"/>
</p>
不会很慢呀,只要保证每次请求后台servlet的url都是不同的,就能解决你的问题了,
如果还有疑问,
http://download.csdn.net/detail/s478853630/4064638
或许能帮你
[其他解释]url后边+一个随机数,这样就可以保证url不重复了
[其他解释]最好的方法就是产生随机数
[其他解释]
<img src="verifyCode.action?date="+new Date() id="imgCode" title="点击更换图片"
style="cursor:pointer;" />
document.getElementById("imgcode").onclick = function() {
//每次请求需要一个不同的参数,否则可能会返回同样的验证码
//这和浏览器的缓存机制有关系,也可以把页面设置为不缓存,这样就不用这个参数了。
document.getElementById("imgcode").src = "verifyCode.action?date=" + new Date();
};
大概思想就是这样
[其他解释]其实你写的一点问题都没有。感觉慢是因为页面在展示的时候是整个jsp页面已经在服务器解析好后一次性写到页面上的。你以后每点击一次服务器还要重新解析下,再到页面上,所以感觉会慢一点,其实想像一下,刷新整个页面的时候要解析整个页面,而产生验证码只需要解析一个验证码,后者是比前者要快的。
12306的比较快是因为在人少的时候,人多的时候肯定也不行。你的电脑和12306的服务器性能是没有办法比的。12306花几个亿做系统,服务器性能肯定是不错的。
如果排除以下原因,可能就是你写的代码性能不佳,可以适应优化下。
[其他解释]元芳,CSDN新论坛上线!你怎么看?
[其他解释]感谢各位朋友的回复。
我在提问的代码里面已经加了随机数,
function refresh(obj) {
obj.src = "/randomservlet?"+Math.random();
}
现在不是随机数的问题,而是点击图片刷新的时候非常慢,我用的是JSP。
各位可以在本地测试一下,是否存在这个问题。
[其他解释]自己顶!自己顶!
[其他解释]换个浏览器试试看呢?
[其他解释]换个浏览器试试看呢?
[其他解释]IE,FF 都一样的。
自己顶!自己顶!
[其他解释]顶一个,支持一下
[其他解释]自己顶!自己顶!
[其他解释]自己顶!自己顶!
[其他解释]这位朋友,你没看明白我的问题,单独刷新验证码很慢,而刷新整个页面反而很快。
你可以在本地试试这个项目:http://download.csdn.net/detail/s478853630/4064638
自己顶!自己顶!
[其他解释]朋友,你太牛了!
搞定,结贴!