new XMLHttpRequest()怎么监听Ajax执行
时间: 2023-11-22 13:08:47 浏览: 70
可以通过`XMLHttpRequest`对象的事件来监听Ajax执行,以下是常见的`XMLHttpRequest`事件:
- `onreadystatechange`:当`XMLHttpRequest`对象的`readyState`属性发生变化时触发,表示请求的状态发生了变化。
- `onload`:当请求成功完成时触发。
- `onerror`:当请求出错时触发。
- `ontimeout`:当请求超时时触发。
可以通过给`XMLHttpRequest`对象添加事件监听器来监听这些事件,例如:
```javascript
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
console.log('请求成功');
} else {
console.error('请求失败');
}
}
};
xhr.open('GET', 'https://example.com');
xhr.send();
```
在上面的代码中,我们给`xhr`对象添加了一个`onreadystatechange`事件监听器,当`readyState`属性变为`4`时,表示请求已经完成,我们再根据`status`属性来判断请求是否成功。
相关问题
js 怎么监听Ajax是否执行完毕
可以使用 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 请求,并在请求完成后获取响应数据或显示错误信息。
js 监听Ajax是否执行完毕完整代码
以下是一个监听Ajax请求是否执行完毕的完整代码示例:
```javascript
function ajaxListener(){
var ajaxRequest = new XMLHttpRequest();
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200){
console.log('Ajax请求已经执行完毕!');
// 在这里可以执行后续操作
}
}
ajaxRequest.open('GET', 'example.php', true);
ajaxRequest.send();
}
```
在这个示例中,我们创建了一个XMLHttpRequest对象,并且定义了onreadystatechange回调函数。在回调函数中,我们检查XMLHttpRequest的readyState和status属性是否都为4和200,如果是,就说明Ajax请求已经执行完毕。在这个时候,我们就可以执行后续操作了。
阅读全文