当前位置: 首页 > article >正文

vue3(四)-基础入门之 fetch 与 axios

一、fetch

1、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

以上文字参考链接

2.fetch 基本使用

  • 第一个 then 返回一个 respond 对象,第二个 then 可以获取返回数据

  • fetch 请求默认是不带 cookie 的,需要设置 fetch(url,(credentails:''include))

<script>
      //  get请求
      fetch('./lib/test.json')
         .then(res => res.json())
         .then(datas => console.log(datas.students))

      // post 请求
      fetch('./users', {
        method: 'post',
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
        body: 'age = 22'
      })
        .then(res => res.json())
        .then(datas => console.log(datas))
</script>

3.axios 基本使用

//cdn 导入
<script src="https://unpkg.com/axios@1.1.2/dist/axios.min.js"></script>
    <!-- <script src="https://cdn.jsdelivr.net/npm/axios@1.1.2/dist/axios.min.js"></script> -->
<script>
      // axios get请求
      axios.get('./lib/test.json').then(res => {
        console.log(res.data.students)
      })

	// 1.axios post请求
	axios.post('./users', {
          age: 22,
          name: 'zs'
        })
        .then(res => {
          console.log(res.data)
        })
        .catch(error => console.error(error))

      // 2.axios post请求
      axios({
        method: 'post',
        url: './sers',
        headers: {
          Accept: 'application/json',
          'Content-Type': 'application/x-www-form-urlencoded'
        },
        timeout: 2000, // 超时时间
        data: {
          age: '19',
          name: 'zs'
        }
      })
        .then(res => {
          console.log(res.data)
        })
        .catch(error => console.error('请求超时'))

</script>

http://www.kler.cn/a/147204.html

相关文章:

  • 嵌入式硬件杂谈(二)-芯片输入接入0.1uf电容的本质(退耦电容)
  • WP网站如何增加文章/页面的自定义模板
  • 8.C++面向对象5(实现一个较为完善的日期类)
  • Python学习笔记(2)正则表达式
  • 深入理解Flutter生命周期函数之StatefulWidget(一)
  • 利用Blackbox AI让编程更轻松
  • C++中的类与对象
  • sprintf函数
  • Android aidl的简单使用
  • Nacos 2.X核心架构源码剖析
  • 使用char.js 柱形方式显示 一年12个月的最高气温与最低气温
  • MongoDb 安装
  • JVM——垃圾回收算法(垃圾回收算法评价标准,四种垃圾回收算法)
  • 客户案例 | 思腾合力助力国内某人工智能研究院云算力租赁服务
  • Doris的向量化执行引擎
  • 工业级5G路由器:稳定性更高,网络速度更快!
  • HCIP-七、IS-IS 综合实验
  • sqli-labs靶场详解(less11-less16)
  • 迁移redis数据库中的数据到另一台服务器
  • 渗透测试信息搜集
  • vscode代码调试配置
  • 快速搭建一个SpringCloud、SpringBoot项目 || 项目搭建要点
  • Memory Management Examples
  • 【华为OD题库-039】乘坐保密电梯-java
  • Android Tombstone 与Debuggerd 原理浅谈
  • 如何解决React子组件中的逻辑很多影响父组件回显速度的问题