axios中的那些代码!

简介: Axios为HTTP请求提供了一个强大的工具集,使得前端开发中与服务器通信变得更加简单和高效。通过掌握Axios的基础用法、拦截器、取消请求以及处理并发请求等高级功能,开发者可以大大提升开发效率和代码质量。希望本文能够帮助你更好地理解和使用Axios。

Axios中的那些代码

一、Axios简介

Axios是一个基于Promise的HTTP客户端,用于浏览器和Node.js。它能够用于执行HTTP请求,支持拦截请求和响应、取消请求、自动转换JSON数据等功能。其强大的功能和简洁的API设计,使得Axios成为前端开发中广泛使用的HTTP客户端。

二、基本使用

1. 安装Axios

在项目中使用Axios前,需要先进行安装。可以使用npm或yarn进行安装:

npm install axios
# 或者
yarn add axios
​
2. 发送GET请求

发送GET请求是Axios最常见的用法之一。以下是一个简单的示例:

import axios from 'axios';

axios.get('https://api.example.com/data')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('Error fetching data:', error);
  });
​
3. 发送POST请求

Axios也可以用于发送POST请求,并且可以发送复杂的数据结构:

import axios from 'axios';

axios.post('https://api.example.com/data', {
    name: 'John Doe',
    age: 30
  })
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('Error posting data:', error);
  });
​

三、请求与响应拦截器

拦截器允许在请求或响应被 thencatch处理前拦截它们。这在处理统一的错误响应、添加请求头等场景中非常有用。

1. 添加请求拦截器

请求拦截器可以在请求发出前对其进行修改:

axios.interceptors.request.use(config => {
  // 在发送请求之前做些什么
  config.headers.Authorization = 'Bearer token';
  return config;
}, error => {
  // 对请求错误做些什么
  return Promise.reject(error);
});
​
2. 添加响应拦截器

响应拦截器可以在响应数据到达之前对其进行处理:

axios.interceptors.response.use(response => {
  // 对响应数据做些什么
  return response;
}, error => {
  // 对响应错误做些什么
  if (error.response.status === 401) {
    // 处理401错误
    console.error('Unauthorized, redirect to login');
  }
  return Promise.reject(error);
});
​

四、取消请求

使用Axios,可以在请求进行中取消请求。可以通过 CancelToken来实现这一点:

import axios from 'axios';

const CancelToken = axios.CancelToken;
let cancel;

axios.get('https://api.example.com/data', {
  cancelToken: new CancelToken(function executor(c) {
    cancel = c;
  })
}).catch(thrown => {
  if (axios.isCancel(thrown)) {
    console.log('Request canceled', thrown.message);
  } else {
    // 处理错误
  }
});

// 取消请求
cancel('Operation canceled by the user.');
​

五、处理并发请求

Axios提供了 axios.allaxios.spread来处理并发请求:

import axios from 'axios';

function getUser() {
  return axios.get('https://api.example.com/user');
}

function getAccount() {
  return axios.get('https://api.example.com/account');
}

axios.all([getUser(), getAccount()])
  .then(axios.spread((userResponse, accountResponse) => {
    console.log('User:', userResponse.data);
    console.log('Account:', accountResponse.data);
  }));
​

思维导图

+------------------------------------------------------+
|                  Axios中的那些代码                    |
+------------------------------------------------------+
           |
           +-----------------------------+
           | 一、Axios简介               |
           +-----------------------------+
           |
           +-----------------------------+
           | 二、基本使用                |
           | 1. 安装Axios                |
           | 2. 发送GET请求              |
           | 3. 发送POST请求             |
           +-----------------------------+
           |
           +-----------------------------+
           | 三、请求与响应拦截器        |
           | 1. 添加请求拦截器           |
           | 2. 添加响应拦截器           |
           +-----------------------------+
           |
           +-----------------------------+
           | 四、取消请求                |
           +-----------------------------+
           |
           +-----------------------------+
           | 五、处理并发请求            |
           +-----------------------------+
​

总结

Axios为HTTP请求提供了一个强大的工具集,使得前端开发中与服务器通信变得更加简单和高效。通过掌握Axios的基础用法、拦截器、取消请求以及处理并发请求等高级功能,开发者可以大大提升开发效率和代码质量。希望本文能够帮助你更好地理解和使用Axios。

目录
相关文章
|
9月前
|
JavaScript
axios中的那些天才代码!看完我实力大涨!
【10月更文挑战第13天】axios中的那些天才代码!看完我实力大涨!
105 1
【Axios】配置默认值及拦截器代码逐行详解
【Axios】配置默认值及拦截器代码逐行详解
143 0
|
数据处理
Axios 默认配置 简化URL 简化代码 多台服务器接口配置
Axios 默认配置 简化URL 简化代码 多台服务器接口配置
|
JavaScript 前端开发 安全
ts中的泛型与axios的一次相遇,这不工作效率和代码逼格一下子就上来了
ts中的泛型与axios的一次相遇,这不工作效率和代码逼格一下子就上来了
ts中的泛型与axios的一次相遇,这不工作效率和代码逼格一下子就上来了
|
9月前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
577 4
|
9月前
|
缓存 JavaScript 搜索推荐
|
9月前
|
资源调度 JavaScript
|
9月前
|
JavaScript API 开发工具
vue尚品汇商城项目-day02【11.对axios二次封装+12.接口统一管理】
vue尚品汇商城项目-day02【11.对axios二次封装+12.接口统一管理】
88 0
|
10月前
|
JavaScript
vue 中 axios 的安装及使用
本文介绍了在Vue项目中安装和使用axios的方法。首先通过命令`npm install axios --save-dev`安装axios,然后在组件的`created`生命周期钩子中使用`axios.get`异步获取数据,并将获取的数据更新到组件的`data`中。文中提供了完整的示例代码,包括安装命令、验证安装成功的步骤、Vue组件的模板、脚本和样式。
vue 中 axios 的安装及使用

热门文章

最新文章

  • 1
    基于SqlSugar的开发框架循序渐进介绍(10)-- 利用axios组件的封装,实现对后端API数据的访问和基类的统一封装处理
    144
  • 2
    Vue中的axios深度探索:从基础安装到高级功能应用的全面指南
    233
  • 3
    JavaScript 使用axios库发送 post请求给后端, 给定base64格式的字符串数据和一些其他参数, 使用表单方式提交, 并使用onUploadProgress显示进度
    918
  • 4
    若依修改,若依如何发送请求---王清江07,axios的请求在request.js文件中,若依发送GET请求,必须用param
    497
  • 5
    axios发送post请求,如何接受和返回一个axios的字段,解决bug的方法,困难的事情先从简单做起,先从发送一个axios的post请求做起,解决方法查别人的资料,查看F12看network就行
    108
  • 6
    文本,前后端数据交互,简单请求,如何去给data数据赋值,在mounted()里赋值,利用axios发送的请求,res就是数据集,就是后端的数据,this.users = res.data.data
    88
  • 7
    Request failed with status code 400,使用axios.post要发送参数,认真比对原项目,看看有没有忘记什么?
    237
  • 8
    vue3 在 watchEffect 里中断未完成的 axios 请求(只保留最后一次请求的方法---连续点击查询按钮的优化)
    225
  • 9
    前后端数据交互.js文件的axios的写法,想要往后端发送数据,页面注入API,await的意思是同步等待服务器数据,并返回,axios注入在其他页面,其他页面调用的时候,同步作用
    107
  • 10
    前后端数据交互,API风格组合式API和选项式API,setup是一个标识,组合式编写的意思,使定义count.value的值自增的写法,组合式API使用axios的写法,ref定义响应数据写法
    78