写了个JS脚本来刷新验证码 可是总是刷不出来 求高手

index.php
<img src='for2.php?'><br><br>
<script type="text/javascript" src="ajax2.js"></script>
<a href="#" onclick="funphp()">换一张</a>

<div id="php"></div>

for2.php

<?php
error_reporting(0);
session_start();

for($i=0;$i<4;$i++){
$rand.=dechex(rand(1,15));
}
$_SESSION[check_pic]=$rand;
$im = imagecreatetruecolor(100,30);
$bg= imagecolorallocate($im,0,0,0);
$te= imagecolorallocate($im,255,255,255);
for($i=0;$i<20;$i++){
$te2=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imageline($im, rand(0,100),rand(0,30),rand(0,100),rand(0,30), $te2);
}
for($i=0;$i<2000;$i++){
imagesetpixel($im,rand(0,100),rand(0,30),$te2);
}

imagestring($im, rand(1,6), rand(0,70), rand(0,15), $rand, $te);
header("Content-type: image/jpeg");
imagejpeg($im);
?>

ajax2.php

var xmlHttp;
function S_xmlhttprequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
} else if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function funphp(){
S_xmlhttprequest();
xmlHttp.open("GET","for2.php?",true);
xmlHttp.onreadystatechange=byphp;
xmlHttp.send(null);
}
function byphp(){
var byphp10=xmlHttp.responseText;
document.getElementById('php').innerHTML = byphp10;

}
不知道是不是因为页面缓存的问题

<img src='for2.php?'>

js 更换img的src时 在for2.php后面加 随机字符。如 "for2.php?"+mathi.random();追问

我只要改index.php的 改成就行了吗 那我ajax.php要改吗

追答

"for2.php?"+mathi.random(); 这个是改你操作刷新的 js函数里面的。 这个不用改

追问

好像还是不行 我的代码是正确的 你能帮我复制过去 运行一下吗 我是新手 希望多多忙帮

追答

var xmlHttp;
function S_xmlhttprequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
} else if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function funphp(){
S_xmlhttprequest();
var rnd = math.random(); //此处修改
xmlHttp.open("GET","for2.php?"+rnd,true); //此处修改
xmlHttp.onreadystatechange=byphp;
xmlHttp.send(null);
}
function byphp(){
var byphp10=xmlHttp.responseText;
document.getElementById('php').innerHTML = byphp10;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-24
<img src="for2.php" id="codeimg"><br><br>
<a href="#" onclick="funphp()">换一张</a>
<script type="text/javascript">
function funphp(){
document.getElementById("codeimg").src = "for2.php?ts=" + (new Date()).getTime();
}
</script>
第2个回答  2012-07-20
提前声明 我没有试你的代码
解决缓存办法。 在获取验证码的url上多添加一个参数 ,参数值可以是随机数,可以是时间

写了个JS脚本来刷新验证码 可是总是刷不出来 求高手
js 更换img的src时 在for2.php后面加 随机字符。如 "for2.php?"+mathi.random();

这样才能让后台现实验证码 望高手指点
后台画一个图片 将随机生成的字符串写图片上,通过流的形式发送给客户端,然后就判断用户传回来的验证码和随机串是否一致

提示验证码错误的代码,该怎么写啊 ?
如果是在处理提交的页面上的话,可以通过验证原来产生的验证码和提交上来的验证的来进行提示.如果是页面中的验证,看你用什么方面显示的验证码了,一般是图片形式(当然也有简单地使用数字显示的),得在页面中保存一个验证码,然后通过JS脚本编写代码判断输入的和预先保存的是否相同,不同则提示出错,如:假设页...

验证码我有了,怎么实现点击图片更换
楼上的代码是有问题的,问题是IE会有缓存,如果同样的请求路径,有时候则不会重新请求,解决这个问题,只要换个请求路径即可。我写个给你吧

求帮忙写一个精灵网页投票脚本
用JS是做不到的,验证码识别不是JS能做的到的 别说JS,一些验证码根本无法做到识别 你这个问题就是一个验证码识别的问题,其它的都不是问题

怎么样写一个脚本去实现总是每隔一定时间去点击网页上的某个表单...
js有个settimeout函数,意思是每隔多长就去执行一次别的函数或者是方法,你可以自己写一个方法去点击某个表单(或者提交或者刷新),然后使用settimeout就可以了。

写一个js,判断输入框中是否是网址,是的话使用脚本1搜索,不是用脚本2...
function isUrl(str_url) {\/\/ 验证url var strRegex = "^((https|http|ftp|rtsp|mms)?:\/\/)" + "?(([0-9a-zA-Z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?" \/\/ ftp的user@ + "(([0-9]{1,3}\\.){3}[0-9]{1,3}" \/\/ IP形式的UR...

java 中怎样发送验证码发完以后,等一分钟后才能再发。这种功能怎样实现...
使用cookie或session存储当前发送的时间,等下次再发送的时候就直接提示等一分钟后才能发,javascript等客户端脚本是不能实现该功能的,至于代码吗,嘻嘻,您这个分也有点...,这个,这个。。。

javascript不执行(js脚本不执行)
首先点击打开浏览器的菜单【工具】,然后选择【选项】-【internet选项】;如果是IE用户,可以直接在IE图标上点击右键,选择属性进入。打开Internet选项设置窗口后,点击【安全】选项卡,点击【自定义级别】。页面刷新后数据就会被重置,因为页面已是一个全新的页面了,对于js来说,也是一个全新的运行环境。要...

我写的js程序是点击一个按钮弹出一个有一些复选框的div,但是每次点击后...
确认一下,页面【按钮】点击是否存在页面的刷新,例如【按钮】在form标签当中

相似回答