fetch轻量原生但需手动补全功能,axios功能完整开箱即用;小项目优先fetch,中大型项目推荐axios;高阶需求应结合React Query等数据层库。

JavaScript 与后端 API 交互,核心是发起 HTTP 请求并处理响应。目前最常用的是 fetch(原生)和 axios(第三方库),二者没有绝对的“更好”,关键看项目需求和团队习惯。
fetch 更轻量、更现代,但需要手动补全功能
fetch 是浏览器原生支持的 API,无需安装依赖,语法简洁,基于 Promise,天然支持 async/await。但它默认不带 Cookie、不自动处理 JSON 错误状态(比如 404、500 仍算“成功”)、不支持请求/响应拦截、取消请求需靠 AbortController。
常见补足方式:
- 手动添加
credentials: 'include'才能携带 Cookie - 检查
response.ok或response.status判断业务是否失败 - 用
response.json()显式解析 JSON,且需用try/catch捕获解析错误 - 超时控制需自己封装 Promise.race 或用 AbortController
axios 功能更完整,开箱即用,适合中大型项目
axios 是一个成熟的 HTTP 客户端,内置了大量实用特性:自动转换 JSON、默认携带 Cookie(可配)、响应拦截器、请求拦截器、内置超时、取消请求(CancelToken 或 AbortController)、更友好的错误对象(error.response、error.request 等)。
立即学习“Java免费学习笔记(深入)”;
标签: vue react javascript java js json cookie 浏览器 axios 联想 后端 ai
还木有评论哦,快来抢沙发吧~