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

server/2024/10/20 20:44:49/

        前端开发工程师在针对页面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/server/12344.html

相关文章

python之collections.Counter函数介绍

collections.Counter 是 Python 标准库中的一个内置类,用于计数可哈希对象(例如列表、字符串等)的出现次数。它提供了一种方便且高效的方式来进行计数操作。下面是对 collections.Counter 的介绍。 1. 创建 Counter 对象 可以通过传递可迭代…

uniapp 页面滚动到指定位置的方法

方法一:使用uni.pageScrollTo 使页面纵向滚到到指定位置 uni.pageScrollTo({scrollTop: 0,duration: 300 }); 如果滚动无效,可以尝试将代码放在settimeOut(异步),或者nextTick(微任务)。若仍滚…

Swift中与WebView的交互

在Swift中,可以使用WKWebView来实现与WebView的交互。WKWebView是iOS 8及以后版本中新增的Web视图控件,它提供了一种现代化的方式来加载和显示Web内容,并且支持与JavaScript的交互。 以下是一些常见的与WebView的交互方式: 1.加…

使用 Flutter 打造引人入胜的休闲游戏体验

作者 / Zoey Fan 去年,Flutter 休闲游戏工具包进行了一次重大更新。近期在旧金山举办的游戏开发者大会 (GDC) 上,Flutter 首次亮相。GDC 是游戏行业的顶级专业盛会,致力于帮助游戏开发者不断提升开发技能。欢迎您继续阅读,了解开发…

GPT 在目标设定中的应用:实现梦想的技术方法

在技术快速进步的时代,我们设定和实现目标的方式正在不断发展。 该领域最重要的创新之一是引入生成式预训练 Transformer (GPT)。 本文将探讨 GPT 技术如何彻底改变目标设定的艺术,提供实用的见解和案例研究来展示其影响。 GPT 和目标设定简介 ​ 了解 …

代码随想录算法训练营第7天 | 454. 四数相加 II | 383. 赎金信 | 15. 三数之和 | 18. 四数之和

454. 四数相加 II 题意 找出四个数组中元素和为0的次数 解 class Solution { public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {unordered_map<int, int> map;i…

JAVA:maven-->>检查 所有依赖 与 环境 兼容

为了确保你项目中的所有依赖都彼此兼容&#xff0c;并与你的环境相适应&#xff0c;你可以利用 Maven 的依赖管理功能。Maven 有助于解决、升级&#xff0c;并对齐所有库的版本&#xff0c;以避免任何不一致或冲突。以下是检查兼容性的步骤&#xff1a; ### 检查兼容性的步骤&…

文件上传的复习(upload-labs1-5关)

什么是文件上传漏洞&#xff1f; 文件上传本身是一个正常的业务需求&#xff0c;对于网站来说&#xff0c;很多时候也确实需要用户将文件上传到服务器&#xff0c;比如&#xff1a;上传图片&#xff0c;资料。 文件上传漏洞不仅涉及上传漏洞这个行为&#xff0c;还涉及文件上…