AJAX:XHR(XMLHttpRequest)与Fetch的区别与使用

功能点 XHR Fetch
基本的请求能力 ✔️ ✔️
基本的获取响应能力 ✔️ ✔️
监控请求进度 ✔️ ❌
监控响应进度 ✔️ ✔️
Service Worker中是否可用 ❌ ✔️
控制cookie的携带 ❌ ✔️
控制重定向 ❌ ✔️
请求取消 ✔️ ✔️
自定义referrer ❌ ✔️
流 ❌ ✔️
API风格 Event Promise
活跃度 停止更新 不断更新

一、XHR的基本使用

javascript 复制代码
// 创建新的 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();

// 设置回调函数,处理响应数据
xhr.onload = function() {
  if (xhr.status === 200) {
    console.log(xhr.responseText);
  } else {
    console.error("Request failed. Status code:", xhr.status);
  }
};

// 打开连接
xhr.open("GET", "url");

// 发送请求
xhr.send();

二、Fetch的基本使用

javascript 复制代码
// 使用 Fetch API 发送 GET 请求
fetch("url")
  .then(function(response) {
    // 处理响应
    if (!response.ok) {
      throw new Error("HTTP error " + response.status);
    }
    return response.text();
  })
  .then(function(text) {
    // 输出响应文本
    console.log(text);
  })
  .catch(function(error) {
    // 处理错误
    console.error("Fetch error:", error);
  });
相关推荐
夏幻灵几秒前
Express 静态资源托管详解:从本地 HTML 到 express.static()
前端·html·express
yyuuuzz25 分钟前
云服务器部署 web 项目的进程常驻记录
运维·服务器·前端·阿里云·云计算·aws
持敬chijing25 分钟前
白盒测试与代码审计-JS 数据逆向
javascript·网络·安全·web安全·网络安全·网络攻击模型·安全威胁分析
IT_陈寒28 分钟前
一文搞懂React的核心概念
前端·人工智能·后端
薛一半1 小时前
Redux实战:组件状态管理全解析
开发语言·前端·javascript·react.js
风骏时光牛马1 小时前
功能模块性能测试用例验证
前端
对空六课2 小时前
两个统计平台数据不同:用同一时间窗和事件样本做差异定位
大数据·前端·网络·数据库
lpfasd12310 小时前
node-sass 停止维护!老项目迁移 Dart Sass 完整教程
前端·rust·sass
Data analyse45612 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
xiaogai_gai13 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库