<html> <head> <title>用户注册</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <script type="text/javascript"> //创建ajax引擎 function getXmlHttpObject(){ var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } var myXmlHttpRequest=""; //验证用户名是否存在 function checkName(){ myXmlHttpRequest=getXmlHttpObject(); //怎么判断创建ok if(myXmlHttpRequest){ //通过myXmlHttpRequest对象发送请求到服务器的某个页面 //第一个参数表示请求的方式, "get" / "post" //第二个参数指定url,对哪个页面发出ajax请求(本质仍然是http请求) //第三个参数表示 true表示使用异步机制,如果false表示不使用异步 var url="json.php"; var data="username="+$("username").value; //打开请求. myXmlHttpRequest.open("post",url,true); //指定回调函数.stateChanged是函数名 myXmlHttpRequest.onreadystatechange=stateChanged; myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //真的发送请求,如果是get请求则填入 null即可 //如果是post请求,则填入实际的数据 myXmlHttpRequest.send(data); } } //回调函数 function stateChanged(){ //window.alert("处理函数被调回"+myXmlHttpRequest.readyState); //我要取出从registerPro.php页面返回的数据 if(myXmlHttpRequest.readyState==4){ //取出值,根据返回信息的格式定.text //window.alert("服务器返回"+myXmlHttpRequest.responseText); var mes=myXmlHttpRequest.responseXML.getElementsByTagName("mes"); var mes_val=mes[0].childNodes[0].nodeValue; $('myres').value=mes_val; } } //这里我们写一个函数 function $(id){ return document.getElementById(id); } </script> </head> <body> <form action="" method="post"> 用户名字:<input type="text" οnkeyup="checkName();" name="username1" id="username"><input type="button" οnclick="checkName();" value="验证用户名"> <input style="border-width: 0;color: red" type="text" id="myres"> </form> </body> </html>
<?php header("Content-Type: text/xml;charset=utf-8"); //告诉浏览器不要缓存数据 header("Cache-Control: no-cache"); $info=""; if($_REQUEST['username']=='lai'){ $info.="<res><mes>用户名不可以用,对不起</mes></res>";//注意,这里数据是返回给请求的页面. }else{
$info.="<res><mes>用户名可以用,恭喜</mes></res>"; } echo $info;