1、什么是Ajax?
Ajax是Asynchronous JavaScript and XML的首字母缩写,意思就是用JavaScript执行异步网络请求。
在以前的网页中,每次在当前网页发起一个网络请求或者是进行数据提交,浏览器都会刷新整个网页,并且在一个新的网页中告诉用户请求的结果。这大大降低了用户体验。
在2005年,由Google推广的Asynchronous JavaScript and XML(Ajax)技术,利用javascript发起数据请求并接收返回的结果,得到结果后,再用javascript更新网页的局部,不用刷新整个页面,让用户感到自己一直停留在当前页面。简单的说,Ajax就是一个不用刷新整个网页而请求数据更新局部页面的前端技术。
2、建立请求对象:
要想使用Ajax技术,我们需要用到浏览器的XMLHttpRequest 对象或者ActiveX 对象。
现在的浏览器都支持XMLHttpRequest 对象,而一些老的浏览器(IE5和IE6)不支持XMLHttpRequest 对象,这时我们只能使用ActiveX 对象。所以,为了兼容所有浏览器,在创建对象是,需要加以判断:
3、向服务器发起请求:
1)、open方法用于建立器一个请求,第一个参数为请求的方式,一般常见的为”GET”或者”POST”,”GET”一般用于从服务器获取数据,”POST”一般用于向服务器提交数据。当用”POST”请求时,还学要设置请求头:
第二个参数请求的路劲地址,第三个参数为是否发起异步请求,填true或false;
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的时候,说明请求成功。