【B/S】走进AJAX
前言小编也是第一次接触AJAX,个人还是感觉十分高大上的。比如一些词汇,异步,请求等,都是比较高深的,经过自己刻苦研究,自己也可以做一个AJAX的小程序,感到非常的开心。下面和大家一起分析分析AJAX到底是什么,有什么作用。 一、AJAX简介在和大家分析之前,给大家提出一个现象:一个企业用户注册时的一个应用,当用户注册时检查用户名和企业名是否可用,以前的做法是在旁边加一个按钮,点击“检查”,就向服务器发出请求,然后等待……服务器返回信息,继续操作。 图一 注册人人网 通过这个小例子,我们就可以看出,AJAX让我们的操作变得很简单,更加省时。下面是一些比较官方的解释: 在这些官方的介绍中,提到了“异步”。到底什么是异步呢? 好的,再让我们回到第一个例子,看看异步操作到底发现在哪里?首先我输入了我的邮箱,然后系统就开始判断,而我不管他是否可以使用,继续输入我的密码。是不是系统就跟我一样呢?用户就跟你一样?用户不管系统怎么回复,都可以继续操作=你不管我怎么回答,都会马上去吃饭。这就是异步的体现。 二、AJAX原理要想知道AJAX的原理就要先了解一下传统的Web模型是什么样的:用户的动作会触发一个连接到Web服务器的HTTP请求,服务器完成处理后,返回一个HTML页面到客户端。 图二 新旧Web工作模式对比 可能大家对HTTP的请求方法还是比较陌生的,其实一共有两种方法,分别是get 和 post,下面我们对比学习一下: 表一 对比学习http的请求方法
三、编写一个AJAX在编写AJAX之前,我想问问大家是不是都打过电话?你想想打电话的时候分为几步?①买个电话 ②拨号 ③说话 ④听。 1. 创建AJAX对象 由于浏览器的版本不一样,所以请求的语句也是不一样的。 2. 连接到服务器 这里就一个方法 open(请求方法,文件名,是否异步); 3. 发送请求 同样也就一个方法 send(); 4.接收
下面是完整的AJAX代码,将这些方法封装成一个函数,以后直接调用ajax()函数就可以直接使用了。扩充一下代码库。 function ajax(url,fnSucc,fnFaild)
{
//1.创建Ajax对象
var oAjax=null;
if(window.XMLHttpRequest)
{
oAjax=new XMLHttpRequest();
}
else
{
oAjax=new ActiveXObject("Microsoft.XMLHTTP");
}
//2.连接服务器
oAjax.open('GET',url,true);
//3.发送请求
oAjax.send();
//4.接收服务器的返回
oAjax.onreadystatechange=function ()
{
if(oAjax.readyState==4) //完成
{
if(oAjax.status==200) //成功
{
fnSucc(oAjax.responseText);
}
else
{
if(fnFaild)
fnFaild(oAjax.status);
}
}
};
}
四、小结通过接近1星期的学习,终于对AJAX有了一点皮毛的认识,还是要多多的实践,如果不练习,就会什么也不会。加油吧! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |