Axios使用

server/2025/3/14 8:20:09/

Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 node.js。它具有很多优点,如支持 Promise API、拦截请求和响应、转换请求和响应数据、取消请求、自动转换 JSON 数据、客户端支持防止 CSRF/XSRF 等。以下是 Axios 使用的一些总结:

一、安装与引入

Axios 可以通过 npm 或 yarn 进行安装:
npm install axios
# 或者
yarn add axios
然后在项目中引入:
import axios from 'axios';
二、基本使用

Axios 的基本使用非常简单,例如发送一个 GET 请求:
axios.get('https://api.example.com/data')
  .then(function (response) {
    // 处理响应数据
    console.log(response.data);
  })
  .catch(function (error) {
    // 处理错误
    console.log(error);
  });
或者发送一个 POST 请求并传递数据:
axios.post('https://api.example.com/submit', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response.data);
  })
  .catch(function (error) {
    console.log(error);
  });
三、请求配置

Axios 的请求可以配置很多选项,例如设置请求头、设置请求超时时间等:
axios({
  method: 'post',
  url: 'https://api.example.com/submit',
  timeout: 1000, // 请求超时时间(毫秒)
  headers: {'X-Custom-Header': 'foobar'}, // 自定义请求头
  data: {
    firstName: 'Fred',
    lastName: 'Flintstone'
  }
})
.then(function (response) {
  console.log(response.data);
})
.catch(function (error) {
  console.log(error);
});
四、拦截器

Axios 允许你在请求被发送到服务器之前或响应被处理之前对其进行修改或处理。这通过拦截器实现:
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });
五、取消请求

Axios 提供了一个 CancelToken 源来取消请求:
let CancelToken = axios.CancelToken;
let source = CancelToken.source();

axios.get('/user/12345', {
  cancelToken: source.token
}).catch(function (thrown) {
  if (axios.isCancel(thrown)) {
    console.log('Request canceled', thrown.message);
  } else {
    // 处理错误
  }
});

// 取消请求(请求原因是可选的)
source.cancel('Operation canceled by the user.');
六、全局配置

Axios 允许你设置一些全局配置,这些配置将应用于所有请求:
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.timeout = 1000;
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
七、错误处理

在 Axios 中,你可以通过 catch 方法捕获错误。错误对象通常包含响应信息(如果有的话)和请求配置。
axios.get('/user/12345')
  .catch(function (error) {
    if (error.response) {
      // 请求已发出,服务器也响应了状态码,但是状态码不在 2xx 范围内
      console.log(error.response.data);}

};


http://www.ppmy.cn/server/9922.html

相关文章

echarts 双堆叠柱状图(数据整理)

1.后台返回的数据格式 {"code": "0000","message": "","messageCode": "操作成功","sign": null,"detail": null,"data": {"pieChart": [{"key": "产品…

STM32标准库编程与51单片机直接写寄存器的区别和联系

简介: 在学完51单片机之后,我们去学习32的时候,会发现编程的方法有很大的区别,让人非常的不适应,但是通过不断的调用相应外设的库函数之后,你也可以去编程STM32,来实现功能,但是你真…

自定义表单系统开源是否好用?

在竞争激烈的社会中,拥有够灵活、易维护、可视化界面等优势特点的低代码技术平台获得了很多中小型企业的认可与信赖。在提升企业竞争力、办公效率和规避信息孤岛等方面具有重要的应用价值和作用。流程信息为客户提供低代码技术平台、自定义表单系统开源,…

Hive第一篇简介

Hive简介 1. 数据仓库1.1. 基本概念1.2. 主要特征1.2.1. 面向主题1.2.2. 集成性1.2.3. 非易失性1.2.4. 时变性 1.3. 数据库与数据仓库的区别1.4. 数仓的分层架构为什么要对数据仓库分层? 1.5. 数仓的元数据管理 2. Hive 的基本概念2.1. Hive 简介什么是 Hive为什么使…

第25天:安全开发-PHP应用文件管理包含写入删除下载上传遍历安全

第二十五天 一、PHP文件管理-下载&删除功能实现 1.文件上传: 无过滤机制黑名单过滤机制白名单过滤机制文件类型过滤机制 2.文件删除: unlink() 文件删除函数调用命令删除:system shell_exec exec等 3. 文件下载: 修改HT…

【Linux】权限(shell运行原理、概念,Linux权限)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:https://blog.csdn.net/qinjh_/category_12625432.html 目录 shell命令以及运行原理 创建和删除用户 创建新普通用户 删除用户 Linux权…

Linux第三章

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

AI+招聘,激活企业的「新质生产力」

两会以来,「新质生产力」成为热词。而所谓的新质生产力,是创新起主导作用,摆脱传统经济增长方式、生产力发展路径,具有高科技、高效能、高质量特征,符合新发展理念的先进生产力质态。新质之「新」,很重要的…