使用XMLHttpRequest对象进行网络请求的基本步骤如下:
1:创建XHR对象:
const xhr = new XMLHttpRequest();
2:初始化请求:
xhr.open(method, url, async);
method: HTTP请求方法,如 'GET', 'POST', 'PUT', 'DELETE' 等。
url: 请求的目标URL地址。
async: 是否异步执行,默认为 true。
3:设置请求头:
xhr.setRequestHeader('Content-Type', 'application/json');
如果需要设置请求头,可以在此步骤完成。
4:监听请求状态变化:
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
// 请求成功,处理响应数据
console.log(xhr.responseText);
}
};
xhr.readyState 用于跟踪请求的状态变化:
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
xhr.status 用于获取HTTP响应状态码。
5:发送请求:
if (method === 'POST') {
xhr.send(JSON.stringify(data));
} else {
xhr.send();
}
对于 POST 请求,需要传递请求体数据,通常需要将其转换为JSON格式。
对于 GET 请求,可以直接调用 send() 方法。
这就是使用XMLHttpRequest对象进行网络请求的基本步骤。现在大多数情况下会使用更简单的Fetch API或者基于Axios的库来发送网络请求,它们提供了更简洁的API和更好的错误处理等功能。