Axios基础用法

news2024/11/26 8:47:28

Axios简介?

        Axios是一个基于Promise的HTTP库,可以用在浏览器和node.js中。

        Axios提供了更简洁、更强大的API来处理HTTP请求,因此在Vue.js或React等Javascript框架中十分受欢迎。

json-server

        json-server是一个命令行工具,可以让你快速地从一个JSON文件创建一个API。它提供了一个简单的HTTP服务器,用于读取和写入JSON文件,在学习过程中可以使用它进行模拟数据请求。

    下载json-server

     下载json-server之前要确保你已经安装了npm和Node.js。我们可以使用npm install -g json-server在对应的终端中下载,如下图:

ec77321ef3b947b1bdea74e4e1259065.png

        下载成功:

f4e96ebe2ef4491590e5d75c71b4e094.png

    创建模拟数据json文件

        我们需要在下载了json-server的文件夹目录下创建一个.json文件(文件名可以随便取,后缀是.json就行)。

        在bk_json目录下创建json文件:

9ad7266afc9f41aa95bf0785fd34d0be.png

        db.json文件中:

{   
    // 一个people数组,里面的每一个{}可以看作一个people对象
    "people": [
        {
            "name": "张三",
            "age": 20
        },
        {
            "name": "李四",
            "age": 21
        },
        {
            "name": "王五",
            "age": 22
        }
    ],
    
    // 一个cat数组,里面的每一个{}可以看作一个cat对象
    "cat": [
        {
            "name": "小白",
            "age": 3
        },
        {
            "name": "小黑",
            "age": 6
        }
    ]
}

    运行json-server

        在命令行中运行 json-server --watch db.json 指令启动服务器。

        启动后:可以通过Endpoints下面的路径查看json文件中的数据。

147dfa0fb7294a598831ed5e1070f163.png

bcdc2c1e9ac3423ab03077620df00055.png4cc09d796dfe437096b2fae5c92d5039.png

安装Axios

        1、使用 npm:

npm install axios

        2、使用 bower:

bower install axios

        3、使用 yarn:

yarn add axios

Axios基础用法

        Axios的基础用法包括get、post、put、delete、并发。这些基础用法可以实现对服务器数据的增删改查。

        Axios一般在前端框架中使用,在这里我使用的是Vue.js。

    创建Vue项目

        创建Vue项目,在需要使用的组件中引入axios便可以使用axios向服务器发送HTTP请求。

c643ed55ed6d4b6f9685b8f7c0c692e9.png

import axios from 'axios'

    get请求

        get请求主要用于向服务器请求数据。

        使用get请求获取服务器中的people数据:

<script>
import axios from 'axios'

export default {
  name: 'App',
  mounted () {  //此处的路径是上面的服务器启动后得到的路径,如果想获取cat的数据,可以将people改成cat。
    axios.get('http://localhost:3000/people').then((res) => {
      console.log(res);
    })
  }
}
</script>

           请求结果:

92741582197d4bf98da16fefd9e3b880.png

    post请求

        post请求主要用于向服务器发送数据,以便创建或更新资源。与get请求不同,post请求通常用于提交表单数据、上传文件或创建新的资源实例。

        使用post请求向cat中添加新的对象:

        第一种方法:直接将数据写到post方法中。

<script>
import axios from 'axios'

export default {
  name: 'App',
  mounted () {  
    axios.post('http://localhost:3000/cat',{
      name: "土豆",
      age: 6
    }).then((res) => {
      console.log(res);
    })
  }
}
</script>

     第二种方法:创建一个data对象,将数据放入data对象,再将data对象放到post方法中。

<script>
import axios from 'axios'

export default {
  name: 'App',
  mounted () {  

    let data = {
      name: '土豆',
      age: 6
    }

    axios.post('http://localhost:3000/cat',data).then((res) => {
      console.log(res);
    })
  }
}
</script>

          结果:

e0d3256a7b6f4d61be349aa614c9f332.png0faf1c87d6544db08fc22d86310a7c60.png

    put请求

        put请求主要用于更新服务器现有的数据。

        使用put请求更新上面使用post请求添加的cat对象:

<script>
import axios from 'axios'

export default {
  name: 'App',
  mounted () {  

    const data = { //修改后的数据信息
      name: "小红",
      age: 12
    }

                                       //此处的240f是需要修改的数据的唯一标识
    axios.put('http://localhost:3000/cat/240f',data).then((res) => {
      console.log(res);
    })
  }
}
</script>

        结果:

45f7c0e3b67f4752ad9696da41df1aeb.png4858b076251c44188aba0c4ade833a60.png

    delete请求

        delete请求用于请求服务器删除指定数据。

        使用delete请求删除上面使用post请求添加的cat对象:

<script>
import axios from 'axios'

export default {
  name: 'App',
  mounted () {  
    axios.delete('http://localhost:3000/cat/240f').then((res) => {
      console.log(res);
    })
  }
}
</script>

        结果:

85b1a5e530ad411885f3b053628b4f98.png8e55565a14dc46c29620bfbcc69f2ed6.png

    并发请求

        axios的并发请求允许我们同时发送多个HTTP请求,并在所有请求完成(或失败)后返回结果。

        使用并发请求同时请求上面的服务器中的people和cat数据并在控制台上输出:

<script>
import axios from 'axios'

export default {
  name: 'App',
  mounted () {  
    axios.all([
      axios.get('http://localhost:3000/people'),
      axios.get('http://localhost:3000/cat')
    ]).then((res1,res2) => {
      console.log(res1,res2);
    })
  }
}
</script>

        结果:

9721be7c82dc494eb8446b754b78094f.png

总结

        Axios对于向服务器请求数据非常方便,其强大的API比之传统的HTTP更易于上手。Axios的基础用法是我们学习Axios其他高级用法之前必须学习的,它们能够实现对服务器数据基本的增删改查操作,为我们使用Vue等前端框架开发时提供了极大的便利。在页面开发时,一些地方的数据信息可以实现灵活修改而不是像以前一样将数据写死。总之,Axios对于前端开发来说至关重要,它能够使前端可以获取后端数据,实现数据的实时更新。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1827298.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

# RocketMQ 实战:模拟电商网站场景综合案例(六)

RocketMQ 实战&#xff1a;模拟电商网站场景综合案例&#xff08;六&#xff09; 一、RocketMQ 实战 &#xff1a;项目公共类介绍 1、ID 生成器 &#xff1a;IDWorker&#xff1a;Twitter 雪花算法。 在 shop-common 工程模块中&#xff0c;IDWorker.java 是 ID 生成器公共类…

生成和链接动态库

生成和链接动态库 在Linux和windows中的动态库是不一样的 linux 的动态库不需要设置导入导出符号&#xff0c;以.os为后缀windows中需要设置导入和导出符号.lib&#xff0c;以及动态库的后缀是dll 1、windows环境 1、创建动态库 项目结构 CMakeLists.txt cmake_minimum_re…

Leetcode - 132双周赛

目录 一、3174. 清除数字 二、3175. 找到连续赢 K 场比赛的第一位玩家 三、3176. 求出最长好子序列 I 四、3177. 求出最长好子序列 II 一、3174. 清除数字 本题可以使用栈来模拟&#xff0c;遇到数字弹出栈顶元素&#xff0c;遇到字母入栈。 代码如下&#xff1a; //使用字…

ord版本升级(0.15升级到0.18.5)

1、升级rust ~# rustup update stable ~# rustc --versionrustc 1.79.0 (129f3b996 2024-06-10)2、拉取0.18.5代码 ~# wget https://github.com/ordinals/ord/archive/refs/tags/0.18.5.tar.gz ~# tar -xf 0.18.5.tar.gz ~# cd ord-0.18.5 ~# cargo build --release3、启动se…

在机器学习领域中,One-Hot Encoding是什么

一般来说&#xff0c;机器学习模型要求所有的输入输出变量都必须是数字。如果我们的数据中包含了分类数据&#xff0c;我们必须将它们编码成一些数字&#xff0c;这样我们才可以拿去训练和评测一个机器学习模型。 我们常说的分类数据是不能够直接拿来训练、预测的。因为它们一…

【每日随笔】摩托车控车 ① ( 油离配合 | 落脚油离配合 - 不给油 | 落脚油离配合 - 给油 | 正式油离配合 | 骑行姿态注意事项 )

文章目录 一、找 " 离合结合点 "二、落脚油离配合 ( 不给油 )1、该科目练习目的2、起步姿态3、开始练习 三、落脚油离配合 ( 给油 )1、练习目的2、熟悉油门转速3、练习步骤 四、正式油离配合五、骑行姿态注意事项1、基本骑行姿态2、骑摩托车的姿态 - 含胸收腹驼背3、…

uniapp使用css实现瀑布流

页面 <template><view><gj v-if"likeList.length 0"></gj><view v-else class"list"><view class"pbl" v-for"(item,index) in likeList" :key"index"><view class"image&quo…

Windows10 MySQL(8.0.37)安装与配置

一、MySQL8.0.37下载 官网下载链接&#xff1a; https://dev.mysql.com/downloads/ 解压文件&#xff0c;解压到你想要的位置 二、新建MySQL配置文件 右键新建文本文档 新建my.txt文件 编辑my.txt文件&#xff0c;输入以下内容 [mysqld] # 设置 3306 端口 port3306 # 设…

苹果电脑装虚拟机和双系统的区别 苹果笔记本虚拟机和双系统哪个好 虚拟机能装MacOS吗 虚拟机类似的软件

Mac电脑用户在需要使用Windows操作系统的软件时&#xff0c;通常会面临两个选择&#xff1a;安装双系统或使用虚拟机。两种方式各有优缺点&#xff0c;适用于不同的使用场景。本文将详细分析和说明Mac电脑装双系统和虚拟机之间的区别&#xff0c;帮助用户选择最适合自己的方案。…

前端网站(一)-- 登录页面及账号密码验证

前端网站&#xff08;一&#xff09;-- 登录页面及账号密码验证 开篇&#xff08;请大家看完&#xff09;&#xff1a;此网站写给挚爱&#xff0c;后续页面还会慢慢更新&#xff0c;大家敬请期待~ ~ ~ 轻舟所编写这个前端框架的设计初衷&#xff0c;纯粹是为了哄对象开心。除…

<Linux>进程

进程 文章目录 进程PCBpid与ppidfork系统调用进程状态孤儿进程状态优先级环境变量进程地址空间虚拟地址 最直观的表示&#xff1a;启动一个软件&#xff0c;本质就是启动一个进程 PCB PCB是Process Control Block的简称&#xff0c;是用来描述进程状态信息的数据结构。 进程运…

了解并解决 Flutter 中的灰屏问题

生产中的 flutter 应用程序中的灰屏是一种通用占位符&#xff0c;当框架遇到问题无法渲染预期用户界面时就会显示。是的&#xff0c;所以基本上是出现问题时的后备指示器。 有趣的是&#xff0c;这只出现在发布模式下。在任何其他模式下运行都会显示红色错误屏幕&#xff0c;并…

课设--学生成绩管理系统(二)

欢迎来到 Papicatch的博客 目录 &#x1f40b;引言 &#x1f988;编写目的 &#x1f988;项目说明 &#x1f40b;产品介绍 &#x1f988;产品概要说明 &#x1f988;产品用户定位 &#x1f988;产品中的角色 &#x1f40b; 产品总体业务流程图 &#x1f40b; 产品功…

【PL理论】(25) C- 语言:表达式求值的推理规则 | 执行语句的推理规则 | 语句执行的推理规则

&#x1f4ad; 写在前面&#xff1a;本章我们将继续更新我们的 "C-" 语言&#xff0c;更新表达式求值的推理规则、执行语句的推理规则以及语句执行的推理规则。 目录 0x00 C- 语言更新&#xff1a;表达式求值的推理规则 0x01 C- 语言更新&#xff1a;执行语句的推…

观察者模式(大话设计模式)C/C++版本

观察者模式 扩展&#xff1a;观察者模式——委托 C 参考&#xff1a;https://www.cnblogs.com/Galesaur-wcy/p/15905936.html #include <iostream> #include <list> #include <memory> #include <string> using namespace std;// Observer类 抽象观…

港科夜闻 | 香港科大与香港科大(广州)合推红鸟跨校园学习计划,共享教学资源,促进港穗学生交流学习...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与香港科大(广州)合推“红鸟跨校园学习计划”&#xff0c;共享教学资源&#xff0c;促进港穗学生交流学习。香港科大与香港科大(广州)6月14日共同宣布推出“红鸟跨校园学习计划”&#xff0c;以进一步加强两校学…

5.拼数 - 蓝桥杯

基础知识要求&#xff1a; Java&#xff1a;for循环、if判断、Scanner类、数组、字符串 Python&#xff1a; for循环、if判断、列表、字符串、input() 题目&#xff1a; 思路解析&#xff1a; 读取输入&#xff1a; 首先读取要排序的字符串数量。然后读取相应数量的字符串&am…

【Redis】String的常用命令及图解String使用场景

本文将详细介绍 Redis String 类型的常见命令及其使用场景&#xff0c;包括缓存、计数器、共享会话、手机验证码、分布式锁等场景&#xff0c;并且配图和伪代码进一步方便理解和使用。 命令执行效果时间复杂度set key value [key value…]设置key的值是valueO(k),k是键个数get…

使用消息队列(MQ)实现MySQL持久化存储与MySQL server has gone away问题解决

在现代应用程序开发中&#xff0c;消息队列&#xff08;MQ&#xff09;扮演着重要的角色。它们可以帮助我们解决异步通信和解耦系统组件之间的依赖关系。而其中一个常见的需求是将消息队列中的数据持久化到数据库中&#xff0c;以确保数据的安全性和可靠性。在本文中&#xff0…

gbase8s数据库阻塞检查点和非阻塞检查点的执行机制

1. 检查点的描述 为了便于数据库系统的复原和逻辑恢复&#xff0c;数据库服务器生成的一致性标志点&#xff0c;称为检查点&#xff0c;其是建立在数据库系统的已知和一致状态时日志中的某个时间点检查点的目的在于定期将逻辑日志中的重新启动点向前移动 如果存在检查点&#…