1. 0 (UNSENT): 请求未初始化。在这个状态下,调用 open() 方法后,但是尚未调用 send() 方法。
2. 1 (OPENED): 请求已初始化。在这个状态下,已经调用了 open() 方法,但是尚未调用 send() 方法。
3. 2 (HEADERS_RECEIVED): 已接收到响应头。在这个状态下,已经调用了 send() 方法,服务器已经返回了响应头。
4. 3 (LOADING): 正在接收响应体。在这个状态下,已经接收到部分响应体,但是还没有完全接收。
5. 4 (DONE): 请求完成。在这个状态下,整个请求过程已经完成,包括接收到完整的响应体。
下面是一个使用 readyState 的简单示例:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com/data', true);
xhr.onreadystatechange = function() {
console.log('ReadyState:', xhr.readyState);
if (xhr.readyState === 4) {
if (xhr.status === 200) {
// 处理响应
console.log('Response:', xhr.responseText);
} else {
// 处理错误
console.error('Request failed with status:', xhr.status);
}
}
};
xhr.send();
在这个例子中,我们在 onreadystatechange 事件处理程序中输出了 readyState 的值。你可以通过检查这个值来确定请求的当前状态,并根据需要执行相应的操作。通常,我们在 readyState 变为 4 时处理响应。
转载请注明出处:http://www.zyzy.cn/article/detail/4592/Ajax