您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关怎么在PHP中利用Ajax实现一个验证码功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
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文件产生的验证码,怎么让后台发送验证码? 
无论GET还是POST方式都是把数据发送到后台,ajax从哪里取回后台的数据呢? 
百思不得其解之下,我又查询了另一本资料,找到一个示例: 
其中XMLHttpRequest对象送回响应的处理语句是:
request.onreadystateschange=alertContent;
function alertContent(){
...
  alert(request.responseText);
...
}请求的文件为check.php 
其中有这么几句条件输出:
if($info){
  echo "你的用户名可以使用";
}else {
  echo "该用户名已被注册";
}而运行实例效果图中赫然在静态页面弹出消息框,内容如check.php页面的输出!!! 
也就是说ajax能请求到一个php页面的输出内容,于是,接下来简单多了,因为图片也是验证码页面的输出,所以不能直接ajax验证码页面,不然就把图片的数据也获取了。 
新建一个php页面:
sission_start(); $code=""; if(!empty($_session['check']))$code=$_session['check']; echo $code;
再在前端用ajax向这个页面GET一个请求,就能用request.responseText获取验证码了。 
然后把验证过程封装在一定条件触发的函数里,即可实时验证。
关于怎么在PHP中利用Ajax实现一个验证码功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。