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. thinkphp分页样式

    html代码: <div class="pages">{$page}</div> css代码: .pages{ width:100.5%; text-ali ...

  2. CodeIgniter中驱动器的使用方法

    驱动器“Drivers”是CodeIgniter框架从2.0版本开始加入的新特性.正如中文版译者所言: 笔者看了这三篇英文参考,加上自己的一些理解,对官方文档关于驱动器的这一部分进行了一些补充. 1. ...

  3. 机器学习公开课笔记(5):神经网络(Neural Network)——学习

    这一章可能是Andrew Ng讲得最不清楚的一章,为什么这么说呢?这一章主要讲后向传播(Backpropagration, BP)算法,Ng花了一大半的时间在讲如何计算误差项$\delta$,如何计算 ...

  4. POJ 1625 Censored!(AC自动机+DP+高精度)

    Censored! Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 6956   Accepted: 1887 Descrip ...

  5. Unity2D 之 Sprite点击事件

    以下方法纯属我YY,切勿当真!!! 给 Sprite添加点击事件步骤: 1. 创建一个 Sprite 2. 给Sprite添加一个 Box Collider 2D 3. 将如果脚本放到Sprite上: ...

  6. SU Demos-07NMO

    本例还不完善,不足之处,欢迎批评指正 先看readme 第1个脚本,显示速度模型 脚本#2,生成数据 脚本#3,显示合成数据 脚本#4,进行速度分析 脚本#5,动校叠加

  7. 转 Delphi Invalidate的用法

    1.Invalidate介绍 void Invalidate( BOOL bErase = TRUE ); 该函数的作用是使整个窗口客户区无效.窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口 ...

  8. SlidesJS的使用

    项目中对slideshow要求要有触屏滑动换图功能,就想到了SlidesJS这个Jquery插件 例排,先把静态html写好 <div id="cm_slides"> ...

  9. eclipse下Android无法自动生成apk文件怎么办?

    eclipse下Android无法自动生成apk文件怎么办? 现象:创建android工程后,通过手动build/clean或自动build均无法在bin文件夹下生成.apk文件 解决方法:进入win ...

  10. UVa11082 Matrix Decompressing(最小费用最大流)

    题目大概有一个n*m的矩阵,已知各行所有数的和的前缀和和各列所有数的和的前缀和,且矩阵各个数都在1到20的范围内,求该矩阵的一个可能的情况. POJ2396的弱化版本吧..建图的关键在于: 把行.列看 ...