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))

html 复制代码
<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 基本使用

html 复制代码
//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>
相关推荐
南城以南溫暖如初1472 小时前
树洞交友系统架构设计与匿名聊天实战指南
java·spring boot·mysql·系统架构·vue·mybatis·交友
_xaboy19 小时前
低代码可视化表单设计器 FcDesigner 远程请求教程:GET POST 变量鉴权
低代码·开源·vue·表单·fcdesigner
WebInfra1 天前
Rspack 2.2 发布:30+ 项性能优化,拥抱 Solid 2.0
前端·javascript·前端框架
ly76891 天前
React 19 从入门到工程实践:核心原理、新特性与项目实战
前端·react.js·前端框架
咏方舟【长江支流】1 天前
【前端2】单据编辑 -订单单据主子表,万能模板行,自定义添加行
前端·前端框架·状态模式·咏方舟-长江支流
feixing_fx2 天前
告别枯燥字体:Web 字体加载策略与 font-display 最佳实践
前端·css·前端框架·交互·css3
YHHLAI2 天前
从「跑分」到「干活」:Benchmark 与 GPT 5.6 的两种叙事
大数据·前端·人工智能·react.js·前端框架
无懈可击2 天前
Vue 低代码可视化 AI 表单设计器 FcDesigner v3.5 版本发布!
前端·vue.js·前端框架