Ajax

来源:互联网 发布:空难 尼尔森 知乎 编辑:程序博客网 时间:2024/05/16 07:48

1、什么是Ajax

AjaxAsynchronous JavaScript and XML的首字母缩写,意思就是用JavaScript执行异步网络请求。

在以前的网页中,每次在当前网页发起一个网络请求或者是进行数据提交,浏览器都会刷新整个网页,并且在一个新的网页中告诉用户请求的结果。这大大降低了用户体验。

2005年,由Google推广的Asynchronous JavaScript and XMLAjax)技术,利用javascript发起数据请求并接收返回的结果,得到结果后,再用javascript更新网页的局部,不用刷新整个页面,让用户感到自己一直停留在当前页面。简单的说,Ajax就是一个不用刷新整个网页而请求数据更新局部页面的前端技术。

2、建立请求对象:

要想使用Ajax技术,我们需要用到浏览器的XMLHttpRequest对象或者ActiveX对象。

现在的浏览器都支持XMLHttpRequest对象,而一些老的浏览器(IE5IE6)不支持XMLHttpRequest对象,这时我们只能使用ActiveX对象。所以,为了兼容所有浏览器,在创建对象是,需要加以判断:

 
3、向服务器发起请求:

 

1)open方法用于建立器一个请求,第一个参数为请求的方式,一般常见的为”GET”或者”POST”,”GET”一般用于从服务器获取数据,”POST”一般用于向服务器提交数据。当用”POST”请求时,还学要设置请求头:

 

第二个参数请求的路劲地址,第三个参数为是否发起异步请求,填truefalse;

2)send方法为发起请求。

4、监听服务器响应状态:

 

当我们向服务器发起请求后,服务器会给我们返回一些信息,这时,我们就要用到onreadystatechange方法去监听请求的状态。

1)readyState参数返回的是我们的请求的状态,它有5个值,分别是0,1,2,3,4.

0:(未初始化)还没有调用send()方法 ;

1: 载入)已调用send()方法,正在发送请求;

2:(载入完成)send()方法执行完成,已经接收到全部响应内容;

3:(交互)正在解析响应内容 ;

4:(完成)响应内容解析完成,可以在客户端调用了。

2)status参数,是服务器接收到我们的请求后给我们返回的信息状态码:

1**:请求收到,继续处理

2**:操作成功收到,分析、接受

3**:完成此请求必须进一步处理

4**:请求包含一个错误语法或不能完成

5**:服务器执行一个完全有效请求失败

status=200的时候,说明请求成功。

3)、responseText参数,包含的是服务器返回给客户端的数据,当status==200时,可以获得responseText,然后根据实际开发需求,对其进行处理。