时间:2021-07-01 10:21:17 帮助过:14人阅读
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获取验证码了。
然后把验证过程封装在一定条件触发的函数里,即可实时验证。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。