fetch和axios

定义:

Fetch

Axios

类型

浏览器原生 API(Node 18+ 也内置)

第三方库

底层

基于 Promise,原生实现

浏览器基于 XMLHttpRequest,Node 端基于 http 模块

体积

0(原生)

约 15KB(gzip 后约 5KB)

安装

无需安装

npm i axios


区别:

特性

Fetch

Axios

HTTP 错误(4xx/5xx)是否进 catch

不进,需手动判断 res.ok

自动 reject

自动 JSON 解析

res.json()

自动解析 response.data

请求/响应拦截器

无(需自己封装)

内置

请求超时

需配合 AbortController 手动实现

timeout 配置项

请求取消

AbortController

AbortController / CancelToken(旧)

上传/下载进度

⚠️ 仅支持下载(ReadableStream);上传需自己实现

onUploadProgress / onDownloadProgress

CSRF/XSRF 防护

内置 xsrfCookieName

默认携带 cookie

默认不带(需 credentials: 'include'

同源默认带,跨域需 withCredentials: true

自动转换请求体

需手动 JSON.stringify

自动序列化

浏览器兼容

现代浏览器,IE 不支持

通过 XHR 兼容到 IE11

Node.js 支持

Node 18+ 内置

全版本支持




fetch和axios
http://localhost:8090/archives/qian-duan-jiao-du-li-jie-python
作者
Administrator
发布于
2025年06月10日
许可协议