1. axios概述

  1. axios 是一个专注于网络请求的库。
  2. axios 在请求到数据之后,在真正的数据之外,套了一层外壳。

2.axios的基本使用

2.1 发送get请求

代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><button id="btnGet">发送GET请求</button><button id="btnPost">发送POST请求</button><!-- 引入axios --><script src="/lib/axios.js"></script><script>document.querySelector("#btnGet").addEventListener("click", function () {axios({// 请求方式method: "GET",// 请求地址url: "http://www.liulongbin.top:3006/api/getbooks",// URL中的查询参数params: {id: 2,},}).then(function(result) {console.log(result);})});</script></body>
</html>

结果:

2.2 发送post请求

代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><button id="btnPost">发送POST请求</button><!-- 引入axios --><script src="/lib/axios.js"></script><script>document.querySelector('#btnPost').addEventListener('click', function() {axios({method: 'POST',url: 'http://www.liulongbin.top:3006/api/post',// 请求体参数data: {name: 'zs',age: 12,}}).then(function(result) {console.log(result);})})</script></body>
</html>

结果:

3. 使用async…await、解构赋值对代码进行改造

3.1 为什么可以要使用async/await?


结果:

axios的返回值是一个Promise类型。

3.2 以发送post请求为例

代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><button id="btnPost">发送POST请求</button><!-- 引入axios --><script src="/lib/axios.js"></script><script>document.querySelector("#btnPost").addEventListener("click", async function () {// 解构赋值的时候,使用 : 进行重命名// 1. 调用 axios 之后,使用 async/await 进行简化// 2. 使用解构赋值,从 axios 封装的大对象中,把 data 属性解构出来// 3. 把解构出来的 data 属性,使用 冒号 进行重命名,一般都重命名为 { data: res }const { data: res } = await axios({method: "POST",url: "http://www.liulongbin.top:3006/api/post",// 请求体参数data: {name: "zs",age: 12,},});console.log(res);});</script></body>
</html>

结果:

4.使用axios直接发送请求

4.1 使用axios直接发送get请求

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><button id="btnGet">发送GET请求</button><button id="btnPost">发送POST请求</button><!-- 引入axios --><script src="/lib/axios.js"></script><script>document.querySelector("#btnGet").addEventListener("click", async function () {const { data: res } = await axios.get("http://www.liulongbin.top:3006/api/getbooks",{params: {id: 3,},});console.log(res.data);});</script></body>
</html>

结果:

4.2 使用axios直接发送post请求

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><button id="btnPost">发送POST请求</button><!-- 引入axios --><script src="/lib/axios.js"></script><script>document.querySelector("#btnPost").addEventListener("click", async function () {const { data: res } = await axios.post("http://www.liulongbin.top:3006/api/post",{ name: "zs", age: 20 });console.log(res);});</script></body>
</html>

注意:这里的请求体参数可以直接写在{}中,而不用加data
结果:

5. 参考

黑马vue视频,感谢llb老师。


建议学习axios之前先了解一下http协议。

【网络请求之Axios】axios的基础用法相关推荐

  1. vue如何发送网络请求,使用axios事半功倍!

    目录 一.axios使用 1.支持多种请求方式: 2.安装 3.简单使用实例 4.发送并发请求 5.全局配置 二.axios的实例 1.为什么要创建 axios的实例呢? 2.使用 三..axios模 ...

  2. vue基于promise可以用于浏览器和node.js的网络请求库【axios封装-收藏版】

  3. 网络仿真工具Mahimahi的安装和基础用法

    目录 简介 安装 源码安装 apt-get安装 运行 切换拥塞控制算法 简介 Mahimahi是一个网络仿真工具,在Linux容器内外构建一条虚拟管道,并在这个管道中模拟网络时延.丢包和带宽变化.具体 ...

  4. android post请求_Vue 网络请求框架 axios 使用教程

    点击上方"代码集中营",设为星标 优秀文章,第一时间送达! 前期回顾 1. Vue 学习入门指南 2. Vue 入门环境搭建 3. Visual Studio Code 使用指南 ...

  5. vue 获取url地址的参数_Vue 网络请求框架 axios 使用教程

    点击上方"代码集中营",设为星标 优秀文章,第一时间送达! 前期回顾 1. Vue 学习入门指南 2. Vue 入门环境搭建 3. Visual Studio Code 使用指南 ...

  6. react native 网络请求 axios

    react native的网络请求推荐使用axios和fetch 两种方式,当前阐述的是axios 1.安装axios yarn add react-native-axios 2.创建一个js,进行基 ...

  7. axios发送网络请求

    网络模块封装 选择什么网络模块 传统的Ajax 缺点:配置和调用方式等非常混乱 jQuery-Ajax 缺点:在Vue整个开发中都是不需要使用jQuery的 axios axios 功能特点: 在浏览 ...

  8. Flutter开发之Http网络请求

    简介 Http网络请求是一门开发语言里比较常用和重要的功能,主要用于资源访问.接口数据请求和提交.上传下载文件等等操作,Http请求方式主要有:GET.POST.HEAD.PUT.DELETE.TRA ...

  9. ajax jq 图片上传请求头_全面分析前端的网络请求方式:Ajax ,jQuery ,axios,fetch

    链接:https://juejin.im/post/5c9ac607f265da6103588b31 一.前端进行网络请求的关注点 大多数情况下,在前端发起一个网络请求我们只需关注下面几点: 传入基本 ...

最新文章

  1. 用python实现杨辉三角的几种不同方式
  2. 低调的 Linux 文件系统家族
  3. 记录memcache分布式策略及算法
  4. C++函数指针和函数重载
  5. Oracle表空间规划处理
  6. nssl1469-W【dp】
  7. WARNING: 997: Failure to setup sound, err = -50
  8. 最全NFC芯片技术厂商介绍及应用介绍
  9. 计算机电竞方向,关于电竞专业的就业方向
  10. 平面设计(板式设计与构图篇)
  11. 管理变量、机密和事实
  12. 两个质数互质是_两个互质数是什么意思
  13. python f检验 模型拟合度_模型评估指标(RMSE、MSE、MAE、R2准确率、召回率、F1、ROC曲线、AUC曲线、PR曲线)...
  14. 网络共享计算机怎么连接,网络共享,详细教您电脑怎么设置共享无线网络
  15. hMailServer 使用教程 —— 手把手教你搭建自己的邮箱服务器
  16. Mac 卸载/安装 maven
  17. 六轴加速陀螺仪MPU6500/MPU6050使用及DMP库移植,含记步器功能
  18. 常见嵌入式Web服务器比较
  19. 奇安信可信浏览器下载地址
  20. Java接口性能优化万金油之缓存

热门文章

  1. 关于DFT预测关于晶格参数、晶体结构、以及相变等简单计算
  2. SpringBoot 2.x 使用 exe4j 打包成 exe 可执行文件(附带启动传参)
  3. 本地DNS服务器-Dnsmasq安装与配置
  4. mmall电商项目学习笔记之mybatis三剑客
  5. androidx.recyclerview:recyclerview的使用
  6. Android修改系统时间
  7. 详解LK光流法(含金字塔多层光流),反向光流法(附代码)
  8. Jetbrains推出新一代编辑器:Fleet,网友:VS Code迎来劲敌JB Code!
  9. 支付密码设置和登录密码设置
  10. 从菜鸟教程网站(www.runoob.com)上下载所有入门教程