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);
  });
相关推荐
我材不敲代码1 小时前
Python 函数核心:位置参数与关键字参数详解
java·前端·python
丷丩1 小时前
MapLibre GL JS第8课:禁用滚动缩放
javascript·mapbox·maplibre gl js
Kratzdisteln1 小时前
【无标题】
前端·python
Curvatureflight2 小时前
前端国际化 i18n 落地实践:语言包、动态文案和格式化问题怎么处理?
前端·c++·vue
kTR2hD1qb2 小时前
Claude Code Skill的介绍与使用
java·前端·数据库·人工智能
修己xj3 小时前
打造专属博文封面神器:一个开源免费的博文封面生成器ThisCover
前端
kyriewen3 小时前
面试8家前端岗位后,我发现了一个残酷的事实:AI不是加分项,是门槛
前端·javascript·面试
Fighting_p3 小时前
【面试 - el-select问题及解决】wujie 微前端下子系统 el-select 多选 filterable 过滤失效
前端
吃口巧乐兹3 小时前
AI 全栈时代,为什么要服务端使用 NestJs
前端
yingyima3 小时前
Redis 延迟任务队列:凌晨3点服务器报警的救星
前端