【AJAX】原生AJAX设置请求超时、网络异常处理、取消请求处理
// 创建一个新的 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 设置超时时间为 3 秒
xhr.timeout = 3000;
// 处理超时事件
xhr.ontimeout = function() {
console.log('请求超时');
};
// 处理网络异常,如跨域问题等
xhr.onerror = function() {
console.log('网络异常');
};
// 打开一个新的请求,设置方法和 URL
xhr.open('GET', 'your-endpoint-url', true);
// 设置请求头信息,如需要
// xhr.setRequestHeader('Content-Type', 'application/json');
// 绑定载入事件处理器
xhr.onload = function() {
if (this.status >= 200 && this.status < 300) {
// 请求成功
console.log(this.responseText);
} else {
// 请求失败
console.log('请求失败');
}
};
// 发送请求
xhr.send();
// 创建一个函数用来取消请求
function abortRequest() {
xhr.abort();
console.log('请求已取消');
}
// 在需要取消请求的时候调用 abortRequest 函数
// 例如,3秒后自动取消请求
setTimeout(abortRequest, 3000);
这段代码展示了如何使用原生AJAX设置请求超时、处理网络异常以及取消请求。同时,提供了一个简单的abortRequest
函数,用于取消请求操作。
评论已关闭