Asynchronous JavaScript And XML

(1)AJAX大多用于验证和分页;

(2)首先要激活(对象):

window.ActiveXObject(针对IE);

window.XMLHttpRequest(针对其他浏览器)

eg(验证):

1、首先需要一个登录界面

 <html>
<head>
<title>firstAjax</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
</head>
<body>
<form action="">
用户名:<input type="text" name="users" id="" onblur="Changes(this.value)"/>
<span style="color: #ff0000;font-size: 16px;font-weight: bold" id="promit"></span><br/>
密 码:<input type="text"/><br/>
<input type="submit" name="submit" value="提交"/>
</form>
</body>
<script type="text/javascript" src="ajax.js"></script>
</html>

2、从数据库中验证用户是否注册

 <?php
if(isset($_GET['users'])){
$users = $_GET['users']; $conn = mysql_connect("localhost","","") or die("数据库连接失败!");
mysql_select_db("test");
mysql_query("set names 'utf8'"); $sql = "select count(*) from `user_pwd` where users = '$users'";
$result = mysql_query($sql);
$row = mysql_fetch_row($result); if($row[0]){
echo "抱歉、该用户已经被注册!";
}else{
echo "您可以注册";
}
}
?>

3、用AJAX验证

 var XmlHttp;//声明对象

 //第一个function是判断浏览器,并激活对象
function ActiveHttp(){
if(window.ActiveXObject){// 万恶的IE使用 ActiveX 对象
XmlHttp = new ActiveXObject("MICROSOFT.XMLHTTP");
}else if(window.XMLHttpRequest){//其他浏览器使用 ActiveX 对象
XmlHttp = new XMLHttpRequest();
}
} //第二个function是php中调用的函数
function Changes(url){
ActiveHttp();
XmlHttp.open("GET","yanZLog.php?users="+url,true);
//XmlHttp.open里面有三个参数:1、选择get还是post(我们最好使用get,如果用post的话要加上: setRequestHeader("Content-Type","application/x-www-form-urlencoded");)
//2、php验证地址
//3、true:使用AJAX;false:不使用
XmlHttp.onreadystatechange = doThing;
XmlHttp.send(null);//必不可少的!!
} //第三个function是具体要干的事
function doThing(){
if(XmlHttp.readyState == 4){//对象状态(integer):0=未初始化,1=读取中,2=已读取,3=交互中,4=完成
if(XmlHttp.status == 200){//服务器返回的状态码,如404=“文件未找到”、200=“成功”
var sp = document.getElementById("promit");
sp.innerHTML = XmlHttp.responseText;
}
}
}

About_AJAX的更多相关文章

  1. django之ORM的查询优化、Ajax 06

    目录 ORM查询优化 only与defer select_related与prefetch_related查询优化 choices参数 MTV与MVC模型 Ajax简介 AJAX常见应用情景 AJAX ...

随机推荐

  1. windows phone SDK 8.0 模拟器异常 0x89721800解决办法

    删除 APPDATA\LOCAL\Microsoft\Phone Tools\CoreCon\10.0 从新启动即可!

  2. [荐]js模版引擎handlebars.js

    [官方介绍:http://handlebarsjs.com/] Handlebars provides the power necessary to let you build semantic te ...

  3. selenium实战-自动退百度云共享群

    必备知识 在官网上下好selenium-3.0.1-py2.py3-none-any.whl,然后进入下载文件所在的位置 pip install selenium-3.0.1-py2.py3-none ...

  4. 手机端touchstart,touchmove,touchend事件,优化用户划入某个可以点击LI的效果

    在我们滑动手机的时候,如果LI或者DIV标签可以点击,那么在移动端给用户一个效果 /*id为添加效果LI上的UL的ID,或者是当前DIV的ID*/ function doTouchPublic(id) ...

  5. Java的静态导入

    静态导入作用是可以适当减少代码量,但实际上减少得很有限,实际应用中也用的不多,但是作为Java的特性,我们应该适当了解: //静态导入方法或者常量 import static java.lang.Sy ...

  6. Android开发中Handler的经典总结

    当应用程序启动时,Android首先会开启一个主线程(也就是UI线程),主线程为管理界面中的UI控件,进行事件分发. AD: 一.Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线 ...

  7. loadrunner生成随机身份证和银行卡号

    生成银行卡号码: Action() { char card[19] = {'6','2','2','7','0','0','0','0','0','0','0','0','0','0','0','0' ...

  8. c语言二维数组传递

    c语言二维数组传递,目前我总结三种方法,以及纠正一个不能使用的方法 /********************************* * 方法1: 第一维的长度可以不指定 * * 但必须指定第二维 ...

  9. SU Demos-06Selecting Traces

    不足之处,欢迎批评指正 共3个脚本,先看readme 第1个脚本 运行结果 第2个脚本 运行结果 第3个脚本 运行结果

  10. Swift3.0语言教程字符串大小写转化

    Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...