Ajax技术

一、Ajax是什么

Ajax是一种创建交互式web网页应用的前端开发技术。Ajax的英文全称是:“Asynchronous JavaSript And XML”翻译为中文是“异步的JavaScript和XML技术”
可理解成无需重新加载或刷新整个页面的前提下,就可以对页面(通常是局部区域)数据进行异步更新的操作。

二、XMLHttpRequest对象

①使用Ajax动态更新首先需要创建XMLHttpRequest对象,但不同浏览器厂商规定的方法不同,具体如下:

var xhr;
if (window.ActiveXObject)//code for IE6 IE5
{
    xhr= new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)//code for IE7+,Firefox,Chrome,Opera,Safar
{
    xhr= new XMLHttpRequest();
}
else
{
    xhr=null;
}

②发送XMLHttpRequest请求
· open(method,url,async)函数,
用于建立与服务器的连接,定义请求类型,URL链接,以及是否异步处理
method:请求的类型(GET或POST方式)
url:请求文件在服务器上的位置;
async:定义同步或异步的方式,true 同步,false 异步
· send(string)函数,用于向服务器发送请求的操作
string:GET方式时定义为”null”;POST方式时定义url参数
· sendRequestHeader(header,value)函数,如果打算使用如HTML表单的方式发送服务器请求,则需要用到这个函数,用于定义HTTP头
header:定义HTTP头的名称
value:定义HTTP头的值
③完成XMLHttpRequest响应
发送完XMLHttpRequest对象请求后,自然就需要获取来自服务端的响应,此时需要使用XMLHttpRequest对象的responseTest或responseXML属性
· responseTest:定义获取的字符串形式的响应数据
· responseXML:定义获取的XML格式的响应数据
④Ajax事件处理
Ajax只定义了一个事件就是“onreadystatechange”事件。在处理事件时,XMLHttpRequest对象定义了三个属性
· readyState属性:表示XMLHttpRequest对象的状态,状态值在0~4之间
0:表示请求未初始化
1:表示服务器连接已建立
2:表示请求服务器已接收
3:表示请求服务器处理中
4:表示请求服务器已完成,且响应已就绪
· onreadystatechange属性:定义回调函数方法,每当readyState属性值发生改变时,就会调用该函数方法
· status 属性:若readyState返回4,则检查XMLHttpRequest对象的第三个属性status,它会返回状态码,若状态码为200则服务器响应正常。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注