一文简单入门 Axios

Axios 是一个流行的基于 Promise 的请求,用于在浏览器或者 Node 环境中进行 HTTP 请求。它提供了简单易用的 API,可以发送各类请求,比如:GET、POST、PUT、DELETE等,并处理响应数据。Axios 在前端项目中被优先选择的概率很高,下面就用实际的例子来简单熟悉它,通过编写接口并且调用 Apifox 生成的 Mock 数据。

安装 Axios

要安装 Axios,前置条件是需要先下载 Node,然后在终端执行命令(以下都是以 npm 为例)

bash 复制代码
npm install axios

上面这种方式是局部安装的,会安装在项目的node_modules文件夹下。 我也比较推荐这种方式,因为该方式会将全局的 Axios 依赖和项目中的依赖隔离开,确保每个项目的 axios 依赖有自己的版本控制和依赖。当然如果想全局安装也是可以的,可以执行下面的命令:

bash 复制代码
npm i -g axios

安装完成后,你可以新建一个.js 的文件,用来发起 HTTP 请求,基本结构如下:

javascript 复制代码
import $http from 'axios'

// Mock服务,基础路径
const baseUrl = 'https://m1.apifoxmock.com/m1/593188-0-default';

// 查询指定 id 的宠物
$http.get(`${baseUrl}/pet/1`).then(res => {
  console.log('查询---》', res.data);
}).catch(err => {
  console.log('查询---》', err);
})

// 新增
$http.post(`${baseUrl}/pet`, {
  name: '太牛了',
  status: 'sold'
}).then(res => {
  console.log('新增---》', res.data);
}).catch(err => {
  console.log('新增---》', err);
})

// 修改
$http.put(`${baseUrl}/pet`, {
  name: 'test',
}).then(res => {
  console.log('修改---》', res.data);
}).catch(err => {
  console.log('修改---》', err);
})

// 删除
$http.delete(`${baseUrl}/pet/0`).then(res => {
  console.log('删除---》', res.data);
}).catch(err => {
  console.log('删除---》', err);
})

接口 Mock

为了方便测试,使用 Apifox 中的 Mock数据

发起请求

发起请求前,首先需要导入 Axios 库,然后可选的设置基础的 Mock 地址

javascript 复制代码
import $http from 'axios'

// Mock服务,基础路径 (到 Apifox 的云端Mock中找)
const baseUrl = 'https://m1.apifoxmock.com/m1/593188-0-default';

GET请求

示例:

javascript 复制代码
// 查询指定 id 的宠物
$http.get(`${baseUrl}/pet/1`).then(res => {
  console.log('查询---》', res.data);
}).catch(err => {
  console.log('查询---》', err);
})

响应如下:

POST请求

示例:

javascript 复制代码
// 新增
$http.post(`${baseUrl}/pet`, {
  name: '太牛了',
  status: 'sold'
}).then(res => {
  console.log('新增---》', res.data);
}).catch(err => {
  console.log('新增---》', err);
})

PUT 请求

示例:

javascript 复制代码
// 修改
$http.put(`${baseUrl}/pet`, {
  name: 'test',
}).then(res => {
  console.log('修改---》', res.data);
}).catch(err => {
  console.log('修改---》', err);
})

DELETE 请求

示例:

javascript 复制代码
// 删除
$http.delete(`${baseUrl}/pet/0`).then(res => {
  console.log('删除---》', res.data);
}).catch(err => {
  console.log('删除---》', err);
})

参考:

相关推荐
我叫黑大帅10 小时前
什么叫可迭代对象?为什么要用它?
前端·后端·python
颜渊呐10 小时前
Vue3 + Less 实现动态圆角 TabBar:从代码到优化实践
前端·css
PineappleCoder10 小时前
pnpm 凭啥吊打 npm/Yarn?前端包管理的 “硬链接魔法”,破解三大痛点
前端·javascript·前端工程化
fruge10 小时前
前端文档自动化:用 VitePress 搭建团队技术文档(含自动部署)
运维·前端·自动化
CoolerWu10 小时前
TRAE SOLO实战成功展示&总结:一个所见即所得的笔记软体
前端·javascript
Cassie燁11 小时前
el-button源码解读1——为什么组件最外层套的是Vue内置组件Component
前端·vue.js
vx_bscxy32211 小时前
告别毕设焦虑!Python 爬虫 + Java 系统 + 数据大屏,含详细开发文档 基于web的图书管理系统74010 (上万套实战教程,赠送源码)
java·前端·课程设计
北极糊的狐11 小时前
Vue3 子组件修改父组件传递的对象并同步的方法汇总
前端·javascript·vue.js
spionbo11 小时前
Vue3 前端分页功能实现的技术方案及应用实例解析
前端
AI绘画小3311 小时前
Web 安全核心真相:别太相信任何人!40 个漏洞挖掘实战清单,直接套用!
前端·数据库·测试工具·安全·web安全·网络安全·黑客