在 JavaScript 中,可以使用XMLHttpRequest
对象来发送和接收 HTTP 请求。如果你想拦截某个XMLHttpRequest
并在请求发送或接收完成时触发一个函数,可以使用XMLHttpRequest
对象的onreadystatechange
事件和open
方法来实现。
下面是一个示例代码,演示如何拦截XMLHttpRequest
并在请求发送或接收完成时触发一个函数:
// 创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 设置请求的方法和 URL
xhr.open('GET', 'https://www.example.com');
// 设置请求头
xhr.setRequestHeader('Content-Type', 'application/json');
// 监听请求状态变化事件
xhr.onreadystatechange = function() {
// 判断请求是否完成
if (xhr.readyState === 4) {
// 判断请求是否成功
if (xhr.status === 200) {
// 在请求成功时触发的函数
console.log(xhr.responseText);
} else {
// 在请求失败时触发的函数
console.error('请求失败,状态码:' + xhr.status);
}
}
};
// 发送请求
xhr.send();
在上面的示例中,首先创建了一个XMLHttpRequest
对象,并设置了请求的方法、URL 和请求头。然后,使用onreadystatechange
事件监听请求状态的变化,当请求完成且状态码为 200 时,将在控制台输出响应的文本。如果请求失败,将在控制台输出错误信息。最后,使用send
方法发送请求。
请注意,上面的示例代码只是一个简单的示例,实际应用中可能需要根据具体的需求进行更多的处理和错误检查。