js 怎么监听Ajax是否执行完毕
时间: 2023-12-05 17:04:34 浏览: 27
可以使用 XMLHttpRequest 对象的 readyState 和 status 属性来监听 Ajax 是否执行完毕。
readyState 表示 Ajax 请求的状态,有五个取值:
- 0:请求未初始化,还没有调用 open() 方法。
- 1:请求已经建立,但是还没有发送,还没有调用 send() 方法。
- 2:请求已发送,正在处理中,还没有接收到响应。
- 3:正在接收响应数据,但是未完成。
- 4:响应已经完成,可以获取并使用响应数据了。
当 readyState 的值变为 4 时,表示响应已经完成,可以获取并使用响应数据了。
status 表示响应的状态码,常见的状态码有:
- 200:请求成功。
- 404:请求的资源不存在。
- 500:服务器内部错误。
因此可以通过以下代码来监听 Ajax 是否执行完毕:
```javascript
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) { // readyState 变为 4,表示响应已经完成
if (xhr.status == 200) { // status 为 200,表示请求成功
console.log(xhr.responseText); // 获取响应数据
} else {
console.error(xhr.statusText); // 显示错误信息
}
}
};
xhr.open('GET', '/api/data');
xhr.send();
```
以上代码监听了一个 GET 请求,并在请求完成后获取响应数据或显示错误信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)