前端发送请求之fetch跟axios的区别

devtools/2024/10/20 21:10:39/

        前端开发工程师在针对页面UI设计稿还原之后,还需要与后端开发工程师进行接口对接,发送请求获取后端接口数据后进行逻辑处理呈现给用户。

        常见的发送请求的方式是:Fecth,Axios

        以下概念来自AI

Fecth与Axios的区别:

API的设计:

        Fetch API是基于浏览器内置的 window.fetch 函数,使用起来较为简单,但有些功能需要手动处理,比如对错误的处理。

        Axios 是一个单独的库,提供了更丰富的功能和更方便的API,例如自动处理JSON数据、请求和响应拦截器等。

兼容性:

        Fetch API 在现代浏览器中得到良好支持,但在一些老旧的浏览器中可能需要使用 polyfill 进行兼容处理。

        Axios 兼容性更好,在各种环境中都可以使用,并提供了一致的API。

错误处理:

        在Fetch API中,需要手动检查HTTP响应状态码并处理错误。

        Axios 提供了更简便的错误处理机制,可以通过 .catch 来捕获错误。

举例说明:

Fetch API

// 用例一
fetch(url, {method: 'GET', // 请求方法headers: {'Content-Type': 'application/json', // 请求头// 其他自定义请求头},body: JSON.stringify(data), // 请求体,通常用于 POST 或 PUT 请求
})
.then(response => response.json()) // 处理响应数据
.then(data => {// 处理获取到的数据
})
.catch(error => {// 处理错误
});// 用例二
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {console.log(data);
})
.catch(error => {console.error('Error:', error);
});

Axios

// 用例一
axios({method: 'GET', // 请求方法url: 'https://api.example.com/data', // 请求地址headers: {'Content-Type': 'application/json', // 请求头// 其他自定义请求头},data: requestData, // 请求体,通常用于 POST 或 PUT 请求
})
.then(response => {// 处理响应数据console.log(response.data);
})
.catch(error => {// 处理错误console.error('Error:', error);
});// 用例二
axios.get('https://api.example.com/data')
.then(response => {console.log(response.data);
})
.catch(error => {console.error('Error:', error);
});


http://www.ppmy.cn/devtools/12190.html

相关文章

MongoDB数据恢复—拷贝MongoDB数据库文件后无法启动服务的数据恢复案例

服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&检测: 工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分…

鸿蒙原生应用元服务-访问控制(权限)开发应用权限列表一

ohos.permission.USE_BLUETOOTH 允许应用查看蓝牙的配置。 权限级别:normal 授权方式:system_grant ACL使能:TRUE ohos.permission.DISCOVER_BLUETOOTH 允许应用配置本地蓝牙,查找远端设备且与之配对连接。 权限级别&#…

贪心算法在单位时间任务调度问题中的应用

贪心算法在单位时间任务调度问题中的应用 一、引言二、问题描述与算法设计三、算法证明四、算法实现与效率分析五、C语言实现示例六、结论 一、引言 单位时间任务调度问题是一类经典的优化问题,旨在分配任务到不同的时间槽中,使得某种性能指标达到最优。…

FPV眼镜和VR眼镜的区别,穿越机搭配FPV眼镜优缺点分析

FPV眼镜,即第一人称视角(First Person View)眼镜,是专为无人机、穿越机、遥控模型等飞行设备设计的头戴式显示器。这种设备能够将飞行设备上的摄像头所捕捉的实时图像传输到眼镜中,让佩戴者仿佛亲自驾驶飞行器一样&…

3节点ubuntu24.04服务器docker-compose方式部署高可用elk+kafka日志系统并接入nginx日志

一:系统版本: 二:部署环境: 节点名称 IP 部署组件及版本 配置文件路径 机器CPU 机器内存 机器存储 Log-001 10.10.100.1 zookeeper:3.4.13 kafka:2.8.1 elasticsearch:7.7.0 logstash:7.7.0 kibana:7.7.0 zookeeper:/data/zookeep…

【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解

目录 🌷 安装Nginx环境 🍀 centos操作系统 🍀 ubuntu操作系统 🌷 安装Nginx环境 以下是在linux系统中安装Nginx的步骤: 查看服务器属于哪个操作系统 cat /etc/os-release安装 yum: 如果你确定你的系统…

排序算法-堆排序

一、二叉堆的特性: 1、最大堆的堆顶是整个堆中的最大元素。 2、最小堆的堆顶是整个堆中的最小元素。 以最大堆为例,如果删除一个最大堆的堆顶(并不是完全删除,而是跟末尾的节点交换位置),经过自我调整&…

java:基于guava ClassPath工具实现基于包名(package)的类扫描

google的guava库提供了一个类路径扫描的实用工具ClassPath(参见说明&#xff1a; https://github.com/google/guava/wiki/ReflectionExplained#classpath)工具&#xff0c;适用于非android的Java平台搜索类。基于它可以设计一个过滤包名的搜索工具。 导入依赖库 <dependen…