Ajax是一项综合的技术,Ajax的使用过程,首先是在HTML控件中添加相应的事件触发属性,使其具备事件触发能力;其次是编写事件处理函数,并在这个函数中初始化XMLHttpRequest对象,指定响应处理程序,创建http请求,设置必要的http请求头信息,向服务器发送所创建的http请求;最后才是创建响应处理函数,在对http请求状态进行判断的基础上作出既定的业务处理事务。
(一)事件处理函数,按照以下顺序处理下列事务:
a) 初始化XMLHttpRequest对象;
实现代码如下:
if(widow.XMLHttpRequest) {//Mozilla,Safari,.......
http_request= new XMLHttpRequest();
} else if(window.ActiveXObject) {//IE
http_request= new ActiveXObject("Microsoft.XMLHTTP");
} else {
window.alert("浏览器没有实现XMLHttpRequest 组件对象!");
}
b) 设置XMLHttpRequest对象的onreadystatechange 属性,指定服务器返回响应数据时要调用的回调函数, 即指定响应处理函数;
实现代码如下:
http_request.onreadystatechange=processRequest;
c) 调用XMLHttpRequest对象的open方法,创建http请求;
实现代码如下:
http_request.open("GET", "http://www.example.org/some.file", true);
d) 调用XMLHttpRequest对象的setRequestHeader等方法,设置必要的http请求头信息;
实现代码如下:
http_request.setRequestHeader("Content-Type",application/x-www-form-urlencoded);
e) 调用XMLHttpRequest对象的send方法,发送之前创建的http请求;
实现代码如下:
http_request.send(null);
f) 根据XMLHttpRequest对象的open方法参数,决定是否等待服务器返回响应数据.
(二)回调函数(响应处理函数)执行以下事务:
aa) 判断http请求的状态,并作相应处理;
bb) 调用XMLHttpRequest对象的responseXML or responseText方法,将服务器返回的响应数据赋予Javascript变量或对象;
cc) 使用DOM或其它方式解析服务器返回的响应数据,保存在缓存变量或数组中;
dd) 使用DOM解析HTML文档,定位目标HTML文档节点;
ee) 使用解析完毕的服务器返回的响应数据,更新上一步解答分析HTML文档节点的属性值或内容,从而更新HTML文档页面内容.
(一)事件处理函数,按照以下顺序处理下列事务:
a) 初始化XMLHttpRequest对象;
实现代码如下:
if(widow.XMLHttpRequest) {//Mozilla,Safari,.......
http_request= new XMLHttpRequest();
} else if(window.ActiveXObject) {//IE
http_request= new ActiveXObject("Microsoft.XMLHTTP");
} else {
window.alert("浏览器没有实现XMLHttpRequest 组件对象!");
}
b) 设置XMLHttpRequest对象的onreadystatechange 属性,指定服务器返回响应数据时要调用的回调函数, 即指定响应处理函数;
实现代码如下:
http_request.onreadystatechange=processRequest;
c) 调用XMLHttpRequest对象的open方法,创建http请求;
实现代码如下:
http_request.open("GET", "http://www.example.org/some.file", true);
d) 调用XMLHttpRequest对象的setRequestHeader等方法,设置必要的http请求头信息;
实现代码如下:
http_request.setRequestHeader("Content-Type",application/x-www-form-urlencoded);
e) 调用XMLHttpRequest对象的send方法,发送之前创建的http请求;
实现代码如下:
http_request.send(null);
f) 根据XMLHttpRequest对象的open方法参数,决定是否等待服务器返回响应数据.
(二)回调函数(响应处理函数)执行以下事务:
aa) 判断http请求的状态,并作相应处理;
bb) 调用XMLHttpRequest对象的responseXML or responseText方法,将服务器返回的响应数据赋予Javascript变量或对象;
cc) 使用DOM或其它方式解析服务器返回的响应数据,保存在缓存变量或数组中;
dd) 使用DOM解析HTML文档,定位目标HTML文档节点;
ee) 使用解析完毕的服务器返回的响应数据,更新上一步解答分析HTML文档节点的属性值或内容,从而更新HTML文档页面内容.