AJAX - onreadystatechange 事件

AJAX - onreadystatechange 事件

·                          Previous Page

·                          Next Page

onreadystatechange 事件

当请求被发送到服务器时,我们需要执行一些基于响应的任务。

每当 readyState 改变时,就会触发onreadystatechange 事件。

readyState 属性存有 XMLHttpRequest 的状态信息。

下面是 XMLHttpRequest 对象的三个重要的属性:

属性

描述

onreadystatechange

存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。

readyState

存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

·                          0: 请求未初始化

·                          1: 服务器连接已建立

·                          2: 请求已接收

·                          3: 请求处理中

·                          4: 请求已完成,且响应已就绪

status

200: "OK"

404: 未找到页面

在 onreadystatechange 事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。

当 readyState 等于 4 且状态为 200 时,表示响应已就绪:

xmlhttp.onreadystatechange=function()

  {

  if (xmlhttp.readyState==4 &&xmlhttp.status==200)

    {

   document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

    }

  }

亲自试一试

注释:onreadystatechange 事件被触发 4 次,对应着 readyState 的每个变化。

使用 Callback 函数

callback 函数是一种以参数形式传递给另一个函数的函数。

如果您的网站上存在多个 AJAX 任务,那么您应该为创建XMLHttpRequest 对象编写一个标准的函数,并为每个 AJAX 任务调用该函数。

该函数调用应该包含 URL 以及发生onreadystatechange 事件时执行的任务(每次调用可能不尽相同):

functionmyFunction()

{

loadXMLDoc("ajax_info.txt",function()

  {

  if (xmlhttp.readyState==4 &&xmlhttp.status==200)

    {

   document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

    }

  });

}

亲自试一试

来自:http://www.w3school.com.cn

 

posted @ 2013-06-07 23:02  廖世勇  阅读(135)  评论(0编辑  收藏  举报