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. 深入理解ASP.NET 5的依赖注入

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:ASP.NET 5整个底层都架构于依赖注入机制之下,今天介绍的文章详细介绍了内置依赖注 ...

  2. Matlab中如何将(自定义)函数作为参数传递给另一个函数

    假如我们编写了一个积分通用程序,想使它更具有通用性,那么可以把被积函数也作为一个参数.在c/c++中,可以使用函数指针来实现上边的功能,在matlab中如何实现呢?使用函数句柄--这时类似于函数指针的 ...

  3. Java关键字native、volatile、transient

    native native是方法修饰符.Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法.一般用于JNI中. native关键字说明其修饰的方法是一个原生态方法,方 ...

  4. windows 2003 企业版 下载地址+序列号

    迅雷地址: thunder://QUFodHRwOi8vcy5zYWZlNS5jb20vV2luZG93c1NlcnZlcjIwMDNTUDJFbnRlcnByaXNlRWRpdGlvbi5pc29a ...

  5. HDU 3341 Lost's revenge(AC自动机+DP)

    Lost's revenge Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)T ...

  6. java中的负数的问题

    在计算机中是使用二制数中的最高位表示来正负. 二进制的储存中都是用的补码,正数的原码.反码和补码相同,负数的原码是最高位为1,反码最高位不变,其余各位取反,补码为其反码+1(重要!!) 首先得知道最高 ...

  7. opengl纹理映射总结

    大概步骤: 1.创建纹理对象,并为他指定一个纹理. 2.确定纹理如何应用到每个像素上. 3.启用纹理贴图 4.绘制场景,提供纹理和几何坐标 过滤:由于我们提供的纹理图像很少能和最终的屏幕坐标形成对应, ...

  8. 关于main函数传参数的问题

    argc是命令行总的参数个数      argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数      命令行后面跟的用户输入的参数,比如:      int   main(int   ...

  9. 廖雪峰js教程笔记4 sort排序的一些坑

    排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个对象呢?直接比较数学上的大小是没有意义的,因 ...

  10. java,我准备好了

    1.你对自己的未来有什么规划?做了哪些准备? 长期上学好公务员和本专业知识,将来能找一份好工作,并能在职务上履行好相称的工作.短期上在下一学期拿一等奖学金,尽快入党,考出英语四级和二级c语言.任何成就 ...