js XMLHttpRequest 设置timeout时间并监听timeout事件回调
时间: 2023-09-04 17:15:52 浏览: 172
在使用 XMLHttpRequest 进行 AJAX 请求时,可以通过设置 `timeout` 属性来指定超时时间(单位为毫秒),例如:
```javascript
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
console.log(xhr.responseText);
} else {
console.log('请求失败');
}
}
};
xhr.open('GET', '/api/data', true);
xhr.timeout = 5000; // 设置超时时间为 5 秒
xhr.ontimeout = function() {
console.log('请求超时');
};
xhr.send();
```
在上面的代码中,我们通过设置 `xhr.timeout = 5000` 来将超时时间设置为 5 秒。同时,我们也通过 `xhr.ontimeout` 属性设置了超时事件的回调函数,在超时事件发生时会调用该函数。在上面的示例中,如果请求的响应时间超过 5 秒,就会触发 `xhr.ontimeout` 回调函数输出 "请求超时"。
阅读全文