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>
相关推荐
喜欢踢足球的老罗25 分钟前
[特殊字符] PM2 入门实战:从 0 到线上托管 React SPA
前端·react.js·前端框架
Baklib梅梅2 小时前
探码科技再获“专精特新”认定:Baklib引领AI内容管理新方向
前端·ruby on rails·前端框架·ruby
你的电影很有趣5 小时前
lesson76:Vue.js 核心特性详解:事件处理、计算属性与侦听器
javascript·vue·1024程序员节
知识分享小能手7 小时前
uni-app 入门学习教程,从入门到精通,uni-app 企业项目实战:鲁嗑瓜子项目开发知识点(9)
前端·javascript·学习·微信小程序·小程序·uni-app·vue
布兰妮甜7 小时前
彻底清理:Vue项目中移除static文件夹的完整指南
vue.js·前端框架·static·1024程序员节
yongui478349 小时前
B树和B+树的解析应用
数据结构·b树·前端框架
sulikey10 小时前
Qt 入门简洁笔记:从框架概念到开发环境搭建
开发语言·前端·c++·qt·前端框架·visual studio·qt框架
社会底层无业大学生10 小时前
uniapp微信小程序简单表格展示
微信小程序·小程序·uni-app·vue·1024程序员节
sulikey14 小时前
Qt 入门简洁笔记:信号与槽
前端·c++·笔记·qt·前端框架·1024程序员节·qt框架
weixin_4454766815 小时前
Vue 项目全局水印功能完整实现指南
vue·vue2·1024程序员节