在以前,当人们想要提交一个网页表单的时候,必须提交整个页面,这种操作方式不仅浪费了CPU带宽等硬件资源,并且也降低了用户体验,Ajax技术的出现解决了这一问题。

Ajax(Asynchronous Javascript And XML),是一种通过JavaScript来发送HTTP请求并且接受HTTP响应的方式,JavaScript在通过DOM对HTML页面的操作方式下可以在不提交整个表单的时候,实现网页页面的局部与服务器通信并且刷新。

一个典型的Ajax实现如下所示,该示例程序可以获取指定URL的HTTP响应信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 定义一个请求变量
var req;
// 执行页面操作后所执行的方法,
function checkName(){
// 新建请求
req = new XMLHttpRequest();
// 初始化请求参数
req.open("GET","url",true);
// 发送请求
req.send(null);
// 接受请求,获得服务器返回的 Text 类型的值
var value = req.responseText;
/* 当 req 的 readyState 发生改变的时候,调用 callback 方法 */
req.onreadystatechange = callback;
}

function callback(){
document.getElementById("msg").innerText = req.readyState;
// 当 req 的 readyState 等于 4 时
if(req.readyState == 4){
// 当 req 的 status 等于 200 时
if(req.status == 200){
// 获得服务器返回的 XML 类型的值
var msg = req.responseXML.getElementsByTagName("")[0].childNodes[0].nodeValue;
}
}
}

其中,req.onreadystatechange = callback;代码快表示:当 req 的 onreadystatechange 发生改变的时候,调用 callback() 方法。