AJAX实现用户名验证
//该文件为register.php,在客户端
//创建ajax引擎
function getXmlHttpObject(){
var xmlHttpRequest;
//不同浏览器获取对象XmlHttpRequest对象方法不同
if(window.ActiveXObject){
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}else{
xmlHttpRequest = new XMLHttpRequest();
}
return xmlHttpRequest;
}
/*
function getXmlHttpObject(){
//不同浏览器获取对象XmlHttpRequest对象方法不同
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(){
//1号线
myXmlHttpRequest = getXmlHttpObject();
//判断创建成功?
if(myXmlHttpRequest){
//通过myXmlHttpRequest对象发送请求到服务器的某个页面
//第一个参数表示请求的方式, "get"/"post"
//第二个参数指定url,对哪个页面发出ajax请求(本质仍然是HTTP请求)
//第三个参数.true表示使用异步机制,false表示不使用异步机制
//注意:此处如果"username"和"="之间有空格,否则会出错,在服务器端接收不到"username";
//注意:如果"="之后有空格则将此空格也作为接收到的username的值的一部分。
//即在服务器端收到的username的值=“ ”(即空格)+从客户端发送的username值。
var url = "/AjaxTest/registerProcess.php?username=" + $("username1id").value;
//window.alert(url);
//打开请求
myXmlHttpRequest.open("get",url,true);
//指定回调函数.process是个函数名
myXmlHttpRequest.onreadystatechange = process;
//真正发送请求。如果是get请求则填入null即可
//如果是post请求,则填入实际的数据
//2号线
myXmlHttpRequest.send(null);
}
}
//回调函数
function process(){
//window.alert("这是回调函数" + myXmlHttpRequest.readyState);
//我要取出从registerProcess.php页面返回的数据
if(myXmlHttpRequest.readyState == 4){
//取出值,根据返回信息的格式而定
//window.alert("服务器返回" + myXmlHttpRequest.responseText);
//4号线
$('myResponse').value = myXmlHttpRequest.responseText;
}
}
function $(id){
return document.getElementById(id);
}
[php]
//该文件为registerProcess.php,在服务器端
//接收数据
$username = $_GET["username"];
if($username=="shunping"){
echo "用户名不可用";
}else{
echo "用户名可用";
}
echo "用户名:".$username;//3号线
?>