Axios基础用法

目录

Axios简介?

json-server

    下载json-server

    创建模拟数据json文件

    运行json-server

​编辑​编辑

安装Axios

Axios基础用法

    创建Vue项目

    get请求

    post请求

    put请求

    delete请求

    并发请求

总结


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.mzph.cn/pingmian/28585.shtml

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

相关文章

ComfyUI

文章目录 一、关于 ComfyUI特点快捷键QA你为什么做这个&#xff1f;这是给谁的&#xff1f; 二、安装1、Windows直接链接下载如何在另一个UI和ComfyUI之间共享模型&#xff1f; 2、Jupyter Notebook3、手动安装&#xff08;Windows、Linux&#xff09;AMD GPU&#xff08;仅Lin…

获取wav音频文件时长部署问题

在Linux服务器上运行Java代码时&#xff0c;如果涉及到音频处理&#xff0c;可能会遇到一些在Windows上不存在的问题。尤其是在处理音频文件时&#xff0c;javax.sound.sampled.Clip接口在Linux上的兼容性可能会有问题。这是因为Clip依赖于底层的音频系统&#xff0c;而这些系统…

ubuntu搭建java开发环境IDEA版

一.安装 OpenJDK 更新包列表&#xff1a; sudo apt update安装 OpenJDK&#xff1a; 你可以选择安装不同版本的 OpenJDK&#xff0c;例如 11 或 17&#xff0c;这个是安装 OpenJDK 11 的命令&#xff1a; sudo apt install openjdk-11-jdk验证安装&#xff1a; 安装完成后…

SpringBoot实现的大文件上传

前言 大文件分片上传和断点续传是为了解决在网络传输过程中可能遇到的问题&#xff0c;以提高文件传输的效率和稳定性。 首先&#xff0c;大文件分片上传是将大文件分割成较小的片段进行上传。这样做的好处是可以减少单个文件的传输时间&#xff0c;因为较小的文件片段更容易快…

Spring AI探索

Spring AI概述 该Spring AI项目旨在简化包含人工智能功能的应用程序的开发&#xff0c;避免不必要的复杂性。 该项目从著名的 Python 项目&#xff08;例如 LangChain 和 LlamaIndex&#xff09;中汲取灵感&#xff0c;但 Spring AI 并非这些项目的直接移植。该项目的成立基于…

RabbitMq 延迟队列

前言 延迟消息队列在我们工作中使用的场景特别多&#xff0c;比如超时未支付取消订单&#xff0c;异步业务时间有时间间隔&#xff0c;等等&#xff0c;今天我们就来聊一聊使用消息延迟队列 需求 使用RabbitMq 实现延迟队列&#xff0c;5分钟之后进行消息的消费方式 基于死…

Qt画五角星,简单图表

五角星&#xff1a; 代码&#xff1a; widget.cpp #include "widget.h" #include "ui_widget.h" #include <QPaintEvent> #include <QPainter> #include <QPainterPath> Widget::Widget(QWidget *parent): QWidget(parent), ui(new U…

基于WPF技术的换热站智能监控系统13--控制设备开关

1、本节目的 本次工作量相对有点大&#xff0c;有点难度&#xff0c;需要熟悉MVVM模式&#xff0c;特别是属性绑定和命令驱动&#xff0c;目标是点击水泵开关&#xff0c;让风扇转动或停止&#xff0c;风扇连接的管道液体流动或静止。 &#xff0c;具体对应关系是&#xff1a;…

9.8k star!一款小而美的开源物联网操作系统:RT-Thread

介绍 RT-Thread是一款主要由中国开源社区主导开发的开源实时操作系统&#xff08;RTOS&#xff09;。它不仅是一个实时操作系统内核&#xff0c;也是一个完整的应用系统&#xff0c;包含了实时、嵌入式系统相关的各个组件&#xff0c;如TCP/IP协议栈、文件系统、libc接口、图形…

【算法专题--链表】删除排序链表中的重复元素 -- 高频面试题(图文详解,小白一看就懂!!)

目录 一、前言 二、题目描述 三、解题方法 ⭐双指针 四、总结与提炼 五、共勉 一、前言 删除排序链表中的重复元素这道题&#xff0c;可以说是--链表专题--&#xff0c;最经典的一道题&#xff0c;也是在面试中频率最高的一道题目&#xff0c;通常在面试中&#xff0…

记录一个flink跑kafka connector遇到的问题

【报错】 D:\Java\jdk1.8.0_231\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\lib\idea_rt.jar56647:D:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\bin" -Dfile.encodingUTF-8 -classpath D:\Java\jdk1.8.0_231\jre\lib\cha…

手机照片免费数据恢复软件EasyRecovery2024免费版下载

大家好&#xff01;今天我要给大家推荐一款非常棒的软件——EasyRecovery。相信大家都知道&#xff0c;电脑中的重要文件一旦丢失&#xff0c;对我们的工作和学习都会产生很大的影响。 而EasyRecovery软件就是专门解决这个问题的利器&#xff01;它能够帮助我们快速、有效地恢…

【CSS in Depth2精译】1.1 层叠

CSS 本质上就是声明规则&#xff0c;并让这些特定的规则在各种情况下生效。一个类添加到某个元素上&#xff0c;则应用这个类包含的这一些样式&#xff1b;元素 X 是元素 Y 的一个子节点&#xff0c;则应用另一些样式。浏览器于是根据这些规则&#xff0c;判定所有样式生效的具…

最长不下降子序列LIS详解

最长不下降子序列指的是在一个数字序列中&#xff0c;找到一个最长的子序列&#xff08;可以不连续&#xff09;&#xff0c;使得这个子序列是不下降&#xff08;非递减&#xff09;的。 假如&#xff0c;现有序列A[1&#xff0c;2&#xff0c;3&#xff0c;-1&#xff0c;-2&…

【Android】三种常见的布局LinearLayout、GridLayout、RelativeLayout

【Android】三种常见的布局LinearLayout、GridLayout、RelativeLayout 在 Android 开发中&#xff0c;布局&#xff08;Layout&#xff09;是构建用户界面的基础。通过合理的布局管理&#xff0c;可以确保应用在不同设备和屏幕尺寸上都能有良好的用户体验。本文将简单介绍 And…

Go微服务框架Kratos中makefile命令的使用方法及报错处理

运用 kratos 微服务框架开发项目时&#xff0c;可以使用提供的 makefile 中的命令自动且快速生产相关代码&#xff0c;提高开发效率。 krotos中makefile文件内容如下&#xff1a; GOHOSTOS:$(shell go env GOHOSTOS) GOPATH:$(shell go env GOPATH) VERSION$(shell git descri…

java程序什么时候需要在运行的时候动态修改字节码对象

一、java程序什么时候需要在运行的时候动态修改字节码对象 我认为有两种场景&#xff0c;一种是无法修改源代码的时候&#xff1b;另外一种是功能增强的时候。 1、无法修改源代码 举个例子&#xff0c;java程序依赖的第三方的jar包中发现了bug&#xff0c;但是官方还没有修复…

工程设计问题-步进锥滑轮问题

该问题的主要目标是用5个变量使4阶锥皮带轮的重量最小&#xff0c;其中4个变量是皮带轮每个台阶的直径&#xff0c;最后一个变量是滑轮的宽度。该问题包含11个非线性约束&#xff0c;以保证传动功率必须为0.75马力。 Abhishek Kumar, Guohua Wu, Mostafa Z. Ali, Rammohan Mall…

启动mysql 3.5时出现 MySql 服务正在启动 . MySql 服务无法启动。

有可能是端口冲突 netstat -ano | findstr :3306运行这段代码出现类似&#xff1a; 可以看到端口 3306 已经被进程 ID 为 6284 的进程占用。为了启动新的 MySQL 服务&#xff0c;我们需要停止这个进程或更改新服务的端口&#xff1a; 1、终止进程 taskkill /PID 6284 /F2、确…

【计算机毕业设计】基于Springboot的车辆管理系统【源码+lw+部署文档】

包含论文源码的压缩包较大&#xff0c;请私信或者加我的绿色小软件获取 免责声明&#xff1a;资料部分来源于合法的互联网渠道收集和整理&#xff0c;部分自己学习积累成果&#xff0c;供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者…