Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1961131
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类:

2008-09-26 10:19:47

 上节课我们学习了ajax的核心技术XMLHTTPRequest,这节我们来具体的说一下它是如何发送和接收XMLHTTPRequest请求的基本过程。

    总体上说,有6个步骤:

1、创建XMLHTTPRequest对象,并初始化。

2、发送请求

3、服务器接收请求进行处理

4、返回响应数据

5、客户端接收

6、依据响应数据修改客户端页面内容

    通信的交互方式是异步的。要不它的英文怎么叫ajax呢,异步的javascript和xml。

1、创建XMLHTTPRequest对象已经在上节课介绍了。如果是firefox浏览器直接new一个对象。var xmlhttp = new XMLHttpRequest();如果是IE则用ActiveXObject来创建。

var xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);
var xmlhttp = new ActiveXObject(Msxml2.XMLHTTP);

但是要响应一个事件啊,也就是上节课唯一讲的一个事件onreadystatechange直接调用这个事件就可以了。xmlhttp .onreadystatechange=函数名;Ajax里面也就这么一个内部事件。

2、发送请求

响应处理函数了之后,当然要发出请求了。这回就调用了上节课的open()和send()
两个方法了xmlhttp.open(“GET”,url,true); xmlhttp.send(null);

open()的第三个参数true只是在返回信息的时间内是否继续执行下面的代码。如果为true,则不会继续执行,直到返回信息。默认为true。

3、这第三步就是接收请求的一个过程,没有什么具体的代码可写,只不过是每个项目都有一样的逻辑。

4、在返回响应数据之前,我们要先判断一下readyState的数值是否为4,也就是是否信息全部返回。

if (xmlhttp.readyState = = 4 ) {
//信息已经返回,可以处理}

返回信息则要看看HTTP的状态码,是否等于200,200是代表正常的意思。总不能还报404错误呢,自己还不知道啊。if(xmlhttp.status = =200) { //页面正常 }

对于返回成功的信息有两种方式来处理,大家学过上节课的可能已经知道了。一个是responseText,另一种是responseXML。

把上述代码结核起来就是一个最出的ajax过程的代码了。

阅读(518) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~