使用XMLHttpRequest对象进行网络请求的步骤

使用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和更好的错误处理等功能。

相关推荐
kyriewen1117 小时前
你点的“刷新”是假刷新?前端路由的瞒天过海术
开发语言·前端·javascript·ecmascript·html5
我命由我123452 天前
浏览器的 JS 模块化支持观察记录
开发语言·前端·javascript·css·html·ecmascript·html5
酉鬼女又兒2 天前
零基础快速入门前端ES6 核心特性详解与蓝桥杯 Web 考点实践(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·职场和发展·蓝桥杯·es6·css3·html5
kyriewen112 天前
本地存储全家桶:从localStorage到IndexedDB,把数据塞进用户浏览器
开发语言·前端·javascript·ecmascript·html5
橘子编程2 天前
Django全栈开发终极指南
后端·python·django·npm·html·pandas·html5
Amumu121383 天前
HTML5的新特性
前端·html·html5
橘子编程3 天前
OpenClaw(小龙虾)完整知识汇总
java·前端·spring boot·spring·spring cloud·html5
酉鬼女又兒3 天前
零基础快速入门前端蓝桥杯Web考点深度解析:var、let、const与事件绑定实战(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·es6·html5
我命由我123453 天前
HTML 开发 - HTML 描述列表标签(<dl>、<dt>、<dd>)
前端·javascript·css·html·css3·html5·js
我命由我123454 天前
React - 类组件 setState 的 2 种写法、LazyLoad、useState
前端·javascript·react.js·html·ecmascript·html5·js