网络请求axios与fetch的区别及使用示例

 更新时间:2024年04月03日 10:04:26   作者:余生tt  
Fetch和Axios是两个常用的JavaScript库,用于处理数据请求,下面这篇文章主要给大家介绍了关于网络请求axios与fetch的区别及使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、axios和fetch的区别

Axios 和 Fetch 都是 JavaScript 中用于发送 HTTP 请求的 API,它们的主要区别在以下方面:

1.Axios 支持更广泛的浏览器和 Node.js 版本,而 Fetch 只能在较新的浏览器中使用,或需要使用 polyfill 兼容旧版浏览器。

2.Axios 可以拦截请求和响应,可以全局配置默认的请求头、超时时间等,而 Fetch 目前不支持这些功能。

3.Axios 默认返回 JSON 格式的数据,而 Fetch 返回的是 Response 对象,需要自己通过 Response 的方法(如 json()、text() 等)将结果转换成所需的格式。

4.Axios 对于请求错误可以直接抛出异常,方便进行错误处理,而 Fetch 的错误处理比较繁琐,需要手动检查 Response.ok 属性。

5.fetch是原生js自带的,axios是封装的原生的xhr

二、axios与fetch的使用

axios的导入在上一篇文章

 //axios发送网络请求
        axios.get(`https://api.github.com/search/users?q=${KeyWord}`).then(
        	//成功的回调
            response => {
             	 console.log("请求成功了");
            },
            //失败的回调
            error => {
                 console.log("请求失败了");
            },
            
        )

fetch的使用:fetch不会直接返回数据,而是先返回是否联系到了服务器, 

发送网络请求------fetch
        fetch(`https://api.github.com/search/users?q=${KeyWord}`).then(
            response =>{
                console.log('联系服务器成功了');
                return response.json()
            },
            // error => {
            //     console.log('联系服务器失败了',error);
            //     //返回一个初始化状态的 Promise 中断 .then 链
            //     return new Promise(()=>{})
            // }
        ).then(
            response =>{
                console.log('获取数据成功了',response.items);
            },
            // error => {console.log('获取数据失败了',error);}

        ).catch(
            (error)=>{console.log(error);}
        )

总体来说,Axios 比 Fetch 更易用,功能更强大。但如果只是在现代浏览器中做简单的请求操作,Fetch 也是一个不错的选择

附:fetch 和axios有哪些差异

fetch 和 axios 是两种不同的网络请求库,它们都可以用来向服务器发送 HTTP 请求。但是它们之间有一些差异:

  • 兼容性:fetch 是由浏览器提供的一种原生方法,但是并不是所有浏览器都支持,所以在使用 fetch 的时候需要注意兼容性问题。而 axios 是基于 XHR (XMLHttpRequest) 实现的,所以在使用 axios 的时候不用担心兼容性问题。

  • 使用方式:fetch 的使用方式比较复杂,需要通过 promise 进行链式调用,而且 fetch 并不能发送 PUT、DELETE、PATCH 等请求,需要通过 options 参数进行配置。axios 的

总结

到此这篇关于网络请求axios与fetch的区别及使用的文章就介绍到这了,更多相关网络请求axios与fetch区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript动画函数封装详解

    JavaScript动画函数封装详解

    动画的原理是通过定时器setInterval() 不断移动盒子位置。但是如果同时有好几个元素都需要添加动画呢?我们就可以考虑将其封装成一个简单的动画函数。本文将为大家介绍如何进行封装,需要的可以参考一下
    2021-12-12
  • uni-app使用组件的步骤记录

    uni-app使用组件的步骤记录

    这篇文章主要给大家介绍了关于uni-app使用组件的详细步骤,文中还介绍了自定义组件的使用方法,本文通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • GreyBox技术总结(转)

    GreyBox技术总结(转)

    GreyBox是一个遮罩层的组件也称模式窗口或模态窗口(所谓模态窗口,就是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的窗口),它运行以后可以产生不错的界面。
    2010-11-11
  • js多维数组降维的5种方法

    js多维数组降维的5种方法

    本文主要介绍了js多维数组降维的5种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • PJBlog插件 防刷新的在线播放器

    PJBlog插件 防刷新的在线播放器

    该播放器类似框架式的~设置在页面底部 即使查看网页的另一个页面,歌曲也不会因为刷新而停止并重新播放
    2006-10-10
  • javascript实时显示当天日期的方法

    javascript实时显示当天日期的方法

    这篇文章主要介绍了javascript实时显示当天日期的方法,可实时显示当前日期及星期的功能,非常简单实用,需要的朋友可以参考下
    2015-05-05
  • JavaScript实现选中文字提示新浪微博分享效果

    JavaScript实现选中文字提示新浪微博分享效果

    这篇文章主要为大家详细介绍了JavaScript实现选中文字提示新浪微博分享效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • JavaScript返回网页中锚点数目的方法

    JavaScript返回网页中锚点数目的方法

    这篇文章主要介绍了JavaScript返回网页中锚点数目的方法,涉及javascript使用document.anchors获取锚点数目的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 微信小程序 button样式设置为图片的方法

    微信小程序 button样式设置为图片的方法

    这篇文章主要介绍了微信小程序 button 的样式设置为图片的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 原生js实现下拉刷新和上拉加载更多

    原生js实现下拉刷新和上拉加载更多

    这篇文章主要为大家详细介绍了原生js实现下拉刷新和上拉加载更多,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论