Ajax的异步核心:XMLHTTPRequest

    XMLHTTPRequest是依附于浏览器的一个组件,浏览器不同针对的组件名称也不同。XMLHTTPRequestFirefox中组件的名称,在IE中叫XMLHTTP。“XMLHTTP”有两个优点:局部刷新、异步读取。

Ajax的实现步骤:

1、 创建异步对象:

IE中:var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

Firefox中:var xmlhttp = new XMLHttpRequest;

2、 加载数据所在的服务器:

Ajax获取数据可以从其他网站获取,也可以从本地的XML文件获取,加载数据服务器的语法:xmlhttp.open(method, url, aysc);

method:表示向服务器发送请求的方法,有5种类型:GETPOSTHEADPUTDELETE。最常用的是GETPOST 注意:如果数据处理不改变模型的状态(比如获取数据)就用GET,如果编辑、更新数据等,则用POST

Aysc表示是否使用异步方式获取数据,如果是true,则XMLHTTP将异步调用对象。

3、 异步调用服务器状态的变化:

一旦服务器与客户端进行交互,要控制客户端的变化,就需要判断目前交互的状态。所以在异步调用之前需要将状态变化的事件onreadystatechangejavascript定义的方式挂钩。

xmlhttp.onreadystatechange = 方法名;  注意:方法后面不加括号。

下面是异步调用在与服务器交互时的5种状态:

0   未初始化          异步对象创建完毕,并未使用open方法。

1   初始化            异步对象创建完毕,并未使用send方法发送请求。

2   发送数据          send方法完成,正在等待服务器响应。

3   数据正在发送      正在接受数据,但并未完成。

4   异步调用完成      调用完成,可以使用responseTextresponseXML获取数据。

 

4、 发送一个HTTP请求:

加载完请求的服务内容后,还需要发送一个HTTP请求,一般表示请求的数据。通过发送请求时设置的参数,来有选择的挑选数据:

xmlhttp.send(params);

当系统调用send方法后,后台与服务器的交互才真正开始,状态编号就开始变化。

5、 处理异步获取的数据:

最终客户端获取的数据主要有两种:文本型和XML类型。文本型数据用xmlhttp.responseText获取;XML类型使用xmlhttp.responseXML获取。

 

 

下面举一个使用Ajax+CSS实现动态菜单效果的例子:

StyleSheet.css代码:

Default.aspx代码:

DataPage.aspx代码:

 

最后效果如下图:

 Ajax+css动态菜单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值