首页 > 其他分享 >fetch和axios请求的原理都是基于XMLHttpRerequst吗?

fetch和axios请求的原理都是基于XMLHttpRerequst吗?

时间:2024-12-06 09:43:25浏览次数:4  
标签:基于 axios XMLHttpRequest XMLHttpRerequst Fetch Axios API 浏览器 fetch

不完全是。虽然 XMLHttpRequest 是 Ajax 的基础,也是早期库(例如 jQuery 的 $.ajax)的核心,但 Fetch API 和 Axios 的工作原理略有不同:

  • XMLHttpRequest: 这是一个老牌的浏览器 API,用于在浏览器和服务器之间进行 HTTP 通信。它提供了一种通过 JavaScript 发送 HTTP 请求和接收响应的方法,是 Ajax 的基石。

  • Fetch API: Fetch API 是一个更现代的浏览器 API,旨在提供比 XMLHttpRequest 更简洁、更易用的接口。它使用了 Promises,使异步操作更容易处理。虽然 Fetch API 底层可能仍然依赖于 XMLHttpRequest 在某些浏览器实现中,但它抽象了底层的复杂性,并提供了更高级的功能,例如流式处理。 它本身并非直接基于 XMLHttpRequest,而是浏览器提供的更高级的接口。

  • Axios: Axios 是一个基于 Promise 的 HTTP 客户端,可以在浏览器和 Node.js 中使用。它内部使用了 XMLHttpRequest (在浏览器中) 或 Node.js 的 http 模块 (在服务器端) 来发送请求。所以,在浏览器环境中,Axios 是基于 XMLHttpRequest 的。

总结一下:

  • Fetch API: 更现代的 API,提供了更简洁的接口和更高级的功能,不一定直接依赖于 XMLHttpRequest
  • Axios: 基于 Promise 的 HTTP 客户端,在浏览器中使用 XMLHttpRequest,在 Node.js 中使用 http 模块。

因此,只有 Axios 在浏览器环境中是明确基于 XMLHttpRequest 的。 Fetch API 则并非直接基于它,而是浏览器提供的更高级的接口,底层实现可能因浏览器而异。

标签:基于,axios,XMLHttpRequest,XMLHttpRerequst,Fetch,Axios,API,浏览器,fetch
From: https://www.cnblogs.com/ai888/p/18589956

相关文章

  • 一文教你用vite创建vue3项目初始化并添加router、axios、Pinia保姆级教程
    文章目录一、什么是vite二、什么是vue3三、什么是router四、什么是axios五、什么是pinia六、详细教程1.查看nodejs版本2.使用vite最新版3.配置@指代src目录(可选)4.安装router5.引入axios6.引入pinia一、什么是viteVite是新一代的前端构建工具,在尤雨溪开发Vue3.0的......
  • 在axios中怎样添加授权验证?
    在Axios中添加授权验证有多种方式,取决于你的后端使用的授权机制(例如,BearerTokens,BasicAuth,APIKeys等)。以下是一些常见方法:1.使用headers添加Authorization头:这是最常用的方法,特别是对于BearerTokens。importaxiosfrom'axios';consttoken=localStorag......
  • 执行npm install axios 报错
    报错代码:npm:无法加载文件C:\Users\2409000014\AppData\Local\fnm_multishells\14956_1733122959640\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlink/?LinkID=135170中的about_Execution_Policies。所在位置行:1字符:1+npm......
  • fetch call web api upload or update picture
    昨天C#+html+fetch+API+javascripthttps://www.cnblogs.com/insus/p/18579193其中有一个图片相关的功能,现把它解说一下。html页面上,简单的input和button,无需何附加<formaction="/action_page_binary.asp"method="post"enctype="multipart/form-data">...<......
  • axios相比原生ajax的优点有哪些呢?
    Axios比原生AJAX在前端开发中有很多优势:更简洁易用的API:Axios提供了更简洁、更易于使用的API,使得发送HTTP请求更加方便。例如,设置请求头、处理响应数据等操作都更加直观。原生AJAX需要手动处理XMLHttpRequest对象的各种状态和事件,比较繁琐。Promise支持:Axi......
  • axios为什么能在浏览器中环境运行又能在node中环境运行?
    Axios之所以能在浏览器和Node.js环境中运行,是因为它使用了不同的适配器(adapters)来发送HTTP请求。它能够根据运行环境自动切换适配器。在浏览器中:Axios使用XMLHttpRequest(XHR)对象发送请求。这是浏览器内置的API,用于与服务器进行通信。在Node.js中:Axios使用http或ht......
  • axios如何一次发送多个并发请求?
    在前端开发中,Axios提供了几种方法来发送多个并发请求:Promise.all:这是最常用的方法,它接受一个Promise数组作为参数,并返回一个新的Promise。当所有传入的Promise都resolve时,新的Promise才会resolve,并将所有结果以数组形式返回。如果任何一个Promisereject,新的Prom......
  • git pull和git fetch有什么区别呢?
    gitfetch和gitpull都是用于从远程仓库更新本地仓库的Git命令,但它们的工作方式有所不同:gitfetch:这个命令会从远程仓库下载最新的提交和分支信息到你的本地仓库,但不会自动合并或修改你当前工作的分支。它只是更新了你本地仓库对远程仓库的认知。你可以把它想象成一......
  • C# + html + fetch + API + javascript
    本随笔,在html利用fetch去callwebapi对数据进行添加,修改,更新和删除。数据库与存储过程,此处略过...创建entity,方便webapi进行互动。 现在可以写WebAPI,html实现添加数据, jsfile, 上面添加的数据,将以下面的数据列呈现,  Insus.NET只是在html静态写了数据的表......
  • C# mvc +vue+ axios+ api + javascript
    一整天,分享了几条随笔,C#mvc+axios+webapi+javascripthttps://www.cnblogs.com/insus/p/18577591asp.netmvc视图传递数据至另一页的视图https://www.cnblogs.com/insus/p/18578261C#mvc+angular+$http+webapi+javascripthttps://www.cnblogs.com/insus/p/1857......