PHP+Ajax实现验证码的实时验证 |
PHP的图像处理功能强大,做一张验证码图片也是非常简单的,但是,在实现实时验证时,确遇到了一个难题: function getHTTPObject(){ if(typedef XMLHttpRequest == "undefined") XMLHttpRequest = function(){ try{ return new ActiveXObject("Msxml2.XMLHTTP.6.0");} catch(e){} try{ return new ActiveXObject("Msxml2.XMLHTTP.3.0");} catch(e){} try{ return new ActiveXObject("Msxml2.XMLHTTP");} catch(e){} return false; } return new XMLHttpRequest(); } function getNewContent(){ var request = getHTTPObject(); if(request){ request.open("GET","TEST.txt",true); request.onreadystateschange = function(){ alert(request.responseText); } }else{ alert("no support XMLHttpRequest!"); } } 其中的关键是: request.open("GET","TEST.txt",true); request.onreadystateschange =function(){ alert(request.responseText); } 这三句指定了GET请求发向的页面和XMLHttpRequest对象送回响应的时候触发的处理函数,而数据正是通过request.responseText获取的 。 -------------------------------------------------------------------------------- 可是我要获取的数据是后台php文件产生的验证码,怎么让后台发送验证码? request.onreadystateschange=alertContent; function alertContent(){ ... alert(request.responseText); ... } 请求的文件为check.php if($info){ echo "你的用户名可以使用"; }else { echo "该用户名已被注册"; } 而运行实例效果图中赫然在静态页面弹出消息框,内容如check.php页面的输出!!! sission_start(); $code=""; if(!empty($_session['check']))$code=$_session['check']; echo $code; 再在前端用ajax向这个页面GET一个请求,就能用request.responseText获取验证码了 。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家 。 |