当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当 readyState 改变时,就会触发 onreadystatechange 事件。readyState
属性存有 XMLHttpRequest 的状态信息。下面是 XMLHttpRequest 对象的三个重要的
属性:
@H_
404_0@ onreadystatechange
@H_
404_0@ 存储
函数(或
函数名),每当 readyState
属性改变时,就会
调用该
函数。
@H_
404_0@ readyState
@H_
404_0@ 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
@H_
404_0@ 0: 请求未初始化
@H_
404_0@ 1: 服务器连接已建立
@H_
404_0@ 2: 请求已接收
@H_
404_0@ 3: 请求处理中
@H_
404_0@ 4: 请求已完成,且响应已就绪
@H_
404_0@ status
@H_
404_0@ 200: "OK"
@H_
404_0@
404: 未找到
页面
@H_
404_0@
@H_
404_0@ 在 onreadystatechange 事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。当 readyState 等于 4 且状态为 200 时,表示响应已就绪:
@H_
404_0@ 实例
@H_
404_0@
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
注意: onreadystatechange 事件被触发 5 次(0 - 4),对应着 readyState 的每个变化。
@H_
404_0@
@H_
404_0@ 使用回调
函数
@H_
404_0@ 回调
函数是一种以参数形式传递给另一个
函数的
函数。如果您的网站上存在多个 AJAX 任务,那么您应该为创建 XMLHttpRequest 对象编写一个标准的
函数,并为每个 AJAX 任务
调用该
函数。该
函数调用应该包含 URL 以及发生 onreadystatechange 事件时执行的任务(每次
调用可能不尽相同):
@H_
404_0@ 实例
@H_
404_0@
function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
});
}