|  RSS订阅  |  加入收藏

最简单的AJAX初级教程

简单介绍Ajax前后端异步交互的原理和应用。
摘要
...

    项目实现目标:验证邮箱是否已经注册
项目实现过程:用户注册页面输入完邮箱后即时提醒邮箱是否可以注册
先来看html表单代码


用户名:<input type="text" name="user_name">
密码:<input type="password" name="user_pass">
确认密码:<input type="password" name="user_pass1">


    接下来看AJAX代码,我写在了一个js文件里了


var XHR;	//定义一个全局对象
function createXHR(){  			//首先我们得创建一个XMLHttpRequest对象
	if(window.ActiveXObject){//IE的低版本系类
		XHR=new ActiveXObject('Microsoft.XMLHTTP');//之前IE垄断了整个浏览器市场,没遵循W3C标准,所以就有了这句代码。。。但IE6之后开始有所改观
	}else if(window.XMLHttpRequest){//非IE系列的浏览器,但包括IE7 IE8
		XHR=new XMLHttpRequest();
	}
}
 
function checkname(){  //这是我们html里面的自定义函数名
	var username=document.form1.user_name.value;  //获取表单值
	createXHR();	
	XHR.open("GET","chkreg.php?id="+username,true);//true:表示异步传输,AJAX就体现在这里了,是异步不是同步
	XHR.onreadystatechange=endcheck;//当状态改变时,调用endcheck这个方法
	XHR.send(null);
}
 
function endcheck(){
	if(XHR.readyState == 4){  //服务器响应已完成
		if(XHR.status == 200){	//浏览器返回200状态码表示成功
			var textHTML=XHR.responseText;			
			document.getElementById('checkbox').innerHTML=textHTML;//将服务器返回的信息写入id为checkbox的span标签
		}
	}
}


    最后看下后台处理数据的页面chkreg.php


require"conn.php";//引用你的连接文件
 
$user=$_GET['id'];//js文件中的异步传输那行中的链接,GET方式传的ID,所以这里接受传过来的ID
if(!$_POST['submit']){ //非POST过来的数据,考虑到后面要写入数据库这里简单过滤下
 
if (!preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $user)){//正则表达式判断邮箱格式是否合法
      echo " 邮箱不正确";
      exit;
}else{
	$sql="select * from usercenter where user_name='$user'";
	$query=mysql_query($sql);
	if(mysql_num_rows($query)>0){//检索记录行数大于0表示有记录即已被注册,反之未注册
	   echo " 已被注册";
	}else{
	   echo " 可以注册";
	}
};
};


打赏
  javascript    
转载请注明出处,未经许可禁止商用!
西枫里 熊掌号
代码改变世界 ———— 半路出家,全程修道
发表评论
*依据《网络安全法》规定,您需实名认证后才能评论!