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

了解Axios及其运用方式

Axios简介

axios框架全称(ajax – I/O – system):

  • 基于promise用于浏览器和node.js的http客户端,因此可以使用Promise API

一、axios是干啥的

        说到axios我们就不得不说下Ajax。在旧浏览器页面在向服务器请求数据时,因为返回的是整个页面的数据,页面都会强制刷新一下,这对于用户来讲并不是很友好。并且我们只是需要修改页面的部分数据,但是从服务器端发送的却是整个页面的数据,十分消耗网络资源。而我们只是需要修改页面的部分数据,也希望不刷新页面,因此异步网络请求就应运而生。

Ajax(Asynchronous JavaScript and XML):
异步网络请求。Ajax能够让页面无刷新的请求数据。

实现ajax的方式有多种,如jQuery封装的ajax,原生的XMLHttpRequest,以及axios。但各种方式都有利弊:

  • 原生的XMLHttpRequest的配置和调用方式都很繁琐,实现异步请求十分麻烦
  • jQuery的ajax相对于原生的ajax是非常好用的,但是没有必要因为要用ajax异步网络请求而引用jQuery框架

Axios(ajax i/o system):
                这不是一种新技术,本质上还是对原生XMLHttpRequest的封装,可用于浏览器和nodejs的HTTP客户端,只不过它是基于Promise的,符合最新的ES规范。具备以下特点:

  • 在浏览器中创建XMLHttpRequest请求
  • 在node.js中发送http请求
  • 支持Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消要求
  • 自动转换JSON数据
  • 客户端支持防止CSRF/XSRF(跨域请求伪造)

二、安装使用

安装有三种方式:

npm安装:

 npm install axios

 bower安装:

bower install axios

cdn引入:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

在vue项目的main.js文件中引入axios

import axios from 'axios'
Vue.prototype.$axios = axios

在组件中使用axios

<script>export default {mounted(){this.$axios.get('/goods.json').then(res=>{console.log(res.data);})}}
</script>

三、Axios请求方式

1.axios可以请求的方法:

  • get:获取数据,请求指定的信息,返回实体对象
  • post:向指定资源提交数据(例如表单提交或文件上传)
  • put:更新数据,从客户端向服务器传送的数据取代指定的文档的内容
  • patch:更新数据,是对put方法的补充,用来对已知资源进行局部更新
  • delete:请求服务器删除指定的数据 

2.get请求  

方法一:

 //请求格式类似于 http://localhost:8080/goods.json?id=1
this.$axios.get('/goods.json',{params: {id:1}}).then(res=>{console.log(res.data);},err=>{console.log(err);})

方法二:

this.$axios({method: 'get',url: '/goods.json',params: {id:1}}).then(res=>{console.log(res.data);},err=>{console.log(err);})

3.post请求

post请求一般分为两种类型

1.form-data 表单提交,图片上传、文件上传时用该类型比较多
2. application/json 一般是用于 ajax 异步请求

方法一:

this.$axios.post('/url',{id:1}).then(res=>{console.log(res.data);},err=>{console.log(err);})

方法二:

$axios({method: 'post',url: '/url',data: {id:1}
}).then(res=>{console.log(res.data);
},err=>{console.log(err);
})

form-data请求:

let data = {//请求参数
}let formdata = new FormData();
for(let key in data){formdata.append(key,data[key]);
}this.$axios.post('/goods.json',formdata).then(res=>{console.log(res.data);
},err=>{console.log(err);
})

4.put和patch请求

put请求:

this.$axios.put('/url',{id:1}).then(res=>{console.log(res.data);})

patch请求:

this.$axios.patch('/url',{id:1}).then(res=>{console.log(res.data);})

5.delete请求

参数为封装对象:

this.$axios.delete('/url',{data: {id:1}}).then(res=>{console.log(res.data);})//方法二
axios({method: 'delete',url: '/url',params: { id:1 }, //以明文方式提交参数data: { id:1 } //以封装对象方式提交参数
}).then(res=>{console.log(res.data);
})

6.并发请求

并发请求:同时进行多个请求,并统一处理返回值

 this.$axios.all([this.$axios.get('/goods.json'),this.$axios.get('/classify.json')
]).then(this.$axios.spread((goodsRes,classifyRes)=>{console.log(goodsRes.data);console.log(classifyRes.data);})
)

⛵小结

        以上就是对怎么用Axios简单的概述,希望这篇文章能帮到大家理解什么是Axios且Axios的运用方式,帮助大家更好的开发项目。

        如果这篇文章有帮助到你,希望可以给作者点个赞👍,创作不易,如果有对后端技术、前端领域感兴趣的,也欢迎关注 ,我将会给你带来巨大的收获与惊喜💝💝💝!

相关文章:

了解Axios及其运用方式

Axios简介 axios框架全称&#xff08;ajax – I/O – system&#xff09;&#xff1a; 基于promise用于浏览器和node.js的http客户端&#xff0c;因此可以使用Promise API 一、axios是干啥的 说到axios我们就不得不说下Ajax。在旧浏览器页面在向服务器请求数据时&#xff0c;…...

【LeetCode】剑指 Offer(7)

目录 写在前面&#xff1a; 题目剑指 Offer 17. 打印从1到最大的n位数 - 力扣&#xff08;Leetcode&#xff09; 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 题目&#xff1a;剑指 Offer 18. 删除链表的节…...

Python:try except 异常处理整理

目录 一、try except异常处理的语句格式 二、获取相关异常信息 &#xff08;1&#xff09;sys.exec_info() 三、traceback模块的常用方式 &#xff08;1&#xff09;traceback.print_tb(tb, limitNone, fileNone) 打印指定堆栈异常信息 &#xff08;2&#xff09;tracebac…...

Redis Lua脚本的详细介绍以及使用入门

Redis Lua脚本的详细介绍以及使用入门。 文章目录Redis Lua脚本的引入开源软件的可扩展性Redis的扩展性脚本Redis Lua脚本的基本使用通过EVAL命令执行Lua脚本通过脚本与Redis交互Java中调用Redis Lua脚本Java调用Lua脚本的方式Redis Lua脚本的使用建议脚本缓存脚本缓存稳定性脚…...

synchronized和ReentrantLock有什么区别呢?

第15讲 | synchronized和ReentrantLock有什么区别呢&#xff1f; 从今天开始&#xff0c;我们将进入 Java 并发学习阶段。软件并发已经成为现代软件开发的基础能力&#xff0c;而 Java 精心设计的高效并发机制&#xff0c;正是构建大规模应用的基础之一&#xff0c;所以考察并发…...

SVHN数据集下载及使用方法

街景门牌号数据集&#xff08;SVHN&#xff09;&#xff0c;这是一个现实世界数据集&#xff0c;用于开发目标检测算法。它需要最少的数据预处理过程。它与 MNIST 数据集有些类似&#xff0c;但是有着更多的标注数据&#xff08;超过 600,000 张图像&#xff09;。这些数据是从…...

产业安全公开课:2023年DDoS攻击趋势研判与企业防护新思路

2023年&#xff0c;全球数字化正在加速发展&#xff0c;网络安全是数字化发展的重要保障。与此同时&#xff0c;网络威胁日益加剧。其中&#xff0c;DDoS攻击作为网络安全的主要威胁之一&#xff0c;呈现出连年增长的态势&#xff0c;给企业业务稳定带来巨大挑战。2月21日&…...

Docker 容器命令 和安装各种镜像环境

CentOS安装Docker 1.1.卸载&#xff08;可选&#xff09; 如果之前安装过旧版本的Docker&#xff0c;可以使用下面命令卸载&#xff1a; yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotat…...

【数据结构】顺序表的深度剖析

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;别人可以拷贝我的模式&#xff0c;但不能拷贝我不断往前的激情 &#x1f6f8;C语言专栏&#xff1a;https://blog.csdn.net/vhhhbb/category_12174730.html &#x1f680;数据结构专栏&#xff…...

当面试官问“你的SQL能力怎么样”时,怎么回答才不会掉进应聘陷阱?

在某平台看到一个比较实际的问题&#xff0c;在这里分享给职场新人。 SQL已经是职场最常用的一种编程语言&#xff0c;所以应聘技术或非技术岗位&#xff0c;都可能会被问道一个问题&#xff1a;你的SQL能力怎么样&#xff1f; 对于职场新人来说&#xff08;SQL高手可以无视下…...

AI作画—中国画之山水画

山水画&#xff0c;简称“山水”&#xff0c;中国画的一种&#xff0c;描写山川自然景色为主体的绘画。山水画在我国绘画史中占有重要的地位。 山水画形成于魏晋南北朝时期&#xff0c;但尚未从人物画中完全分离。隋唐时始终独立&#xff0c;五代、北宋时趋于成熟&#xff0c;…...

Java:Java与Python — 编码大战

Java和Python是目前市场上最热门的两种编程语言&#xff0c;因为它们具有通用性、高效性和自动化能力。两种语言都有各自的优点和缺点&#xff0c;但主要区别在于Java 是静态类型的&#xff0c;Python是动态类型的。它们有相似之处&#xff0c;因为它们都采用了“一切都是对象”…...

山东专精特新各地市扶持政策

青岛市奖励政策&#xff1a;新认定为市隐形、省“专精特新”及省瞪羚、角兽的我市企业&#xff0c;分别给予50万元、30万元、50万元、300万元的一次性奖励。奖励金额&#xff1a;省级30万济南市奖励政策&#xff1a;对被认定的国家专精特新 “小巨人”企业一次性给予200万元奖励…...

持续事务管理过程中的事件驱动

比较官方的定义&#xff1a;事件驱动是指在持续事务管理过程中&#xff0c;进行决策的一种策略&#xff0c;即跟随当前时间点上出现的事件&#xff0c;调动可用资源&#xff0c;执行相关任务&#xff0c;使不断出现的问题得以解决&#xff0c;防止事务堆积。在计算机编程、公共…...

【手把手一起学习】(三) Altium Designer 20 原理图库添加元件

1 添加元件 元件符号是元件在原理图上的表现形式&#xff0c;主要由边框、管脚、名称等组成&#xff0c;原理图库中的元件管脚(顺序&#xff0c;间距等)与电子元件实物的引脚严格对应&#xff0c;绘制原理图库时&#xff0c;一定参考元件规格书和芯片数据手册中的说明&#xf…...

设计模式-行为型模式:观察者模式

目录 1、简介 2、组成部分 3、优缺点 4、使用场景 5、代码实现 1、简介 观察者模式是一种软件设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听一个主题对象&#xff0c;当主题对象发生变化时&#xff0c;所有的观察者对象都会得到…...

Springboot 为了偷懒,我封装了一个自适配的数据单位转换工具类

前言 平时做一些统计数据&#xff0c;经常从数据库或者是从接口获取出来的数据&#xff0c;单位是跟业务需求不一致的。 比如&#xff0c; 我们拿出来的 分&#xff0c; 实际上要是元 又比如&#xff0c;我们拿到的数据需要 乘以100 返回给前端做 百分比展示 又比如&#xff…...

正则表达式

当我们需要对字符串进行判断的时候&#xff0c;使用正则表达式能大大提高编程效率。比如&#xff0c;当我们需要找出所有“像邮箱”的字符串&#xff08;包含"" "." ".com"&#xff0c;且顺序一致&#xff09;&#xff0c;我们需要一个某种模式的…...

java进阶Map 集合

通过之前的学习我们知道Map是一个双列集合&#xff0c;就是以键值对的形式进行数据存储 java进阶—集合 Map 下面有 三个子接口&#xff0c;HashMap &#xff0c; HashTable 以及 TreeMap 提醒一点&#xff1a;Map不是Collection下的集合&#xff0c;Collection是单列集合&am…...

Java 方法超详细整理,适合新手入门

目录 一、什么是方法呢&#xff1f; 二、方法的优点 三、带返回值方法定义 语法&#xff1a; 示例&#xff1a; 四、带返回值方法调用 语法&#xff1a; 示例&#xff1a; 五、结果示例 一、什么是方法呢&#xff1f; Java方法是语句的集合&#xff0c;它们在一起执行…...

手把手教你用逻辑分析仪抓取并解析MIPI-CSI-2数据包(以RAW10格式为例)

手把手教你用逻辑分析仪抓取并解析MIPI-CSI-2数据包&#xff08;以RAW10格式为例&#xff09; 在嵌入式视觉系统的开发中&#xff0c;MIPI-CSI-2协议的数据流就像是一条暗河——虽然知道它的存在&#xff0c;但水面下的实际传输细节往往难以窥见。当摄像头输出的图像出现断层、…...

Vue 3 到底好在哪里?一文看懂 Composition API 的三大核心优势

Vue 3 到底好在哪里&#xff1f;一文看懂 Composition API 的三大核心优势 在前端框架的演进历程中&#xff0c;Vue 3 的发布堪称里程碑事件。其核心亮点之一——Composition API&#xff0c;彻底重构了组件逻辑的组织方式&#xff0c;解决了传统 Options API 在大型项目中的痛…...

从零到一:用Python打造你的专属桌面宠物,附完整源码与exe打包指南

1. 环境准备与工具安装 第一次接触Python桌面应用开发的朋友可能会觉得无从下手&#xff0c;但其实只需要准备好几个基础工具就能轻松开始。我刚开始做桌宠项目时也踩过不少坑&#xff0c;这里把最稳妥的配置方案分享给大家。 Python环境是首要条件&#xff0c;推荐使用3.8以上…...

2026制造业深水区:6S咨询机构选型指南,主流机构能力全解析

2026年&#xff0c;国内制造企业数字化转型已全面进入深水区。对于制造业来说&#xff0c;6S管理早已突破传统“现场整理美化”的范畴&#xff0c;成为数字化转型不可或缺的前置工程。本文将客观解析国内主流6S咨询机构的核心能力&#xff0c;为制造企业选型提供参考。2026年主…...

基于51单片机的太阳能追光系统设计与仿真:包含光敏控制、电机调速及两种模式的太阳跟踪系统

基于51单片机的太阳能追光系统设计&#xff0c;太阳跟踪系统设计&#xff0c;光敏控制系统protues仿真设计。 有仿真&#xff0c;程序&#xff0c;AD图&#xff0c;原文&#xff0c;相关资料。 本系统可以通过光敏电阻调节电机转速&#xff0c;有手动模式和我自动模式。 适用于…...

一人干出3人活!当贝Molili在混沌学园教你用好OpenClaw

如果说2025年是AI大模型的内卷之年&#xff0c;2026年则是AI Agent(智能体)规模化落地的元年。3月29日&#xff0c;当贝Molili产品负责人唐涛受邀登上国内创新标杆混沌学园的讲坛&#xff0c;以《用OpenClaw打造7x24小时个人分身&#xff0c;一人团队如何干出3人产出》为主题&a…...

从零到一:在Linux服务器上部署3DGS并驯服你的专属3D数据

1. 环境准备&#xff1a;搭建你的3D数据炼丹炉 第一次在Linux服务器上部署3D Gaussian Splatting&#xff08;简称3DGS&#xff09;时&#xff0c;我踩过的坑能写满三页A4纸。现在回想起来&#xff0c;90%的问题都出在环境配置阶段。就像盖房子要打地基&#xff0c;环境配置决定…...

如何迁移到@ngx-translate/core:从其他i18n库的平滑过渡终极指南

如何迁移到ngx-translate/core&#xff1a;从其他i18n库的平滑过渡终极指南 【免费下载链接】core The internationalization (i18n) library for Angular 项目地址: https://gitcode.com/gh_mirrors/core81/core Angular国际化&#xff08;i18n&#xff09;是构建全球应…...

保姆级教程:在Ubuntu 20.04上为Unitree L1雷达配置Point-LIO,5分钟搞定SLAM环境

5分钟极速部署&#xff1a;Ubuntu 20.04下Unitree L1雷达与Point-LIO的SLAM实战指南 当一台崭新的Unitree L1雷达摆在面前&#xff0c;如何快速验证其SLAM性能&#xff1f;传统LIO-SAM方案需要复杂的参数调整&#xff0c;而官方适配的Point-LIO却能实现近乎零配置的快速部署。本…...

2026届毕业生推荐的AI学术神器实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下的学术环境之中&#xff0c;那样的AI论文网站已然变成了研究辅助方面极具关键作用的工…...