好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

AJAX – onreadystatechange 事件

AJAX - onreadystatechange 事件

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 次(0 - 4), 分别是: 0-1、1-2、2-3、3-4,对应着 readyState 的每个变化。

使用回调函数

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

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

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

实例

function myFunction ( ) { loadXMLDoc ( " /try/ajax/ajax_info.txt " , function ( ) { if ( xmlhttp . readyState == 4 && xmlhttp . status == 200 ) { document . getElementById ( " myDiv " ) . innerHTML = xmlhttp . responseText ; } } ) ; }


尝试一下 »

查看更多关于AJAX – onreadystatechange 事件的详细内容...

  阅读:36次

上一篇

下一篇

第1节:AJAX – onreadystatechange 事件    第2节:AJAX – 向服务器发送    第3节:AJAX XMLHttpRequest 服务器响应    第4节:AJAX JSON 实例    第5节:AJAX XML    第6节:AJAX ASP/PHP    第7节:AJAX 创建 XMLHttpRequest 对象    第8节:AJAX 实例    第9节:AJAX 简介    第10节:AJAX 教程    第11节:AJAX 数据库