在AJAX中,onreadystatechange是一个事件处理函数,用于检测并处理请求状态的变化。当AJAX请求的readyState属性发生变化时,就会触发onreadystatechange事件。
下面是onreadystatechange的用法示例:
var xhr = new XMLHttpRequest();
xhr.open("GET", "example.com/api/data", true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
// 请求成功,可以处理返回的数据
var response = xhr.responseText;
console.log(response);
}
};
xhr.send();
在上面的示例中,首先创建了一个XMLHttpRequest对象,并使用open方法指定了请求的类型、URL和是否异步。
然后,通过设置onreadystatechange事件处理函数,当readyState属性发生变化时就会执行该函数。在函数中,我们检查readyState是否为4(表示请求完成)和status是否为200(表示请求成功),如果满足条件,就可以处理返回的数据。在上述示例中,我们简单地将返回的数据打印到控制台上。
最后,调用send方法发送请求。
需要注意的是,onreadystatechange事件会在请求的不同阶段触发多次,因此在处理函数中需要根据不同的readyState值进行相应的处理。