Axios 总结

news/2025/1/16 20:15:38/

文章目录

  • Axios 总结
    • 概述
    • 安装
    • 基本使用
      • get
      • post
      • 并发请求
    • 基本配置
      • 配置项
      • 请求配置
      • 实例配置
      • 全局配置
    • 拦截器
      • 使用拦截器
      • 取消拦截
    • 取消请求

Axios 总结

概述

Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js。

安装

使用npm:

npm install axios

直接使用:

<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

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

基本使用

get

方式一:

axios.get("http://localhost:3000/users", {params: {age: 38,},}).then((response) => {console.log(response.data);console.log(response.status);console.log(response.statusText);console.log(response.headers);console.log(response.config);}).catch((error) => {console.log("失败");});

方式二:

 axios({method: "get",url: "http://localhost:3000/users",params: {age: 38,},}).then((response) => {console.log(response.data);}).catch((error) => {console.log("失败");});

post

方式一:

axios.post("http://localhost:3000/users", {name: "小明",age: 10,}).then((response) => {console.log(response.data);}).catch((error) => {console.log(error);});

方式二:

 axios({method: "post",url: "http://localhost:3000/users",data: {name: "小明",age: 10,},}).then((response) => {console.log(response.data);}).catch((error) => {console.log(error);});

方式三:

 axios.post("http://localhost:3000/users", "name=abc&age=66").then((response) => {console.log(response.data);}).catch((error) => {console.log(error);});

并发请求

function getUsers() {return axios.get("http://localhost:3000/users");
}
function getComments() {return axios.get("http://localhost:3000/comments");
}Promise.all([getUsers(), getComments()]).then(function (results) {const users = results[0];console.log(users);const comments = results[1];console.log(comments);
}).catch((error) => {console.log(error);
});

基本配置

配置项

  • baseURL 请求的域名,基本地址,类型:String
  • timeout 请求超时时长,单位ms,类型:Number
  • url 请求路径,类型:String
  • method 请求方法,类型:String
  • headers 设置请求头,类型:Object
  • params 请求参数,将参数拼接在URL上,类型:Object
  • data 请求参数,将参数放到请求体中,类型:Object

请求配置

axios.get("/users", {baseURL: "http://localhost:3000",timeout: 3000,}).then((response) => {console.log(response.data);}).catch((error) => {console.log("失败");});

实例配置

let instance = axios.create({baseURL: "http://localhost:3000",timeout: 30000,
});
instance.get("/users").then((response) => {console.log(response.data);
}).catch((error) => {console.log(error);
});

全局配置

axios.defaults.baseURL = "http://localhost:3000";
axios.defaults.timeout = 30000;
axios.get("/users").then((response) => {console.log(response.data);
}).catch((error) => {console.log("失败");
});

拦截器

使用拦截器

// 添加请求拦截器
const requestInterceptor = axios.interceptors.request.use(function (config) {// 发生请求前的处理console.log("请求拦截器:", config);return config;},function (error) {// 请求错误处理console.log("请求拦截器:请求错误:", error.message);return Promise.reject(error);}
);// 添加响应拦截器
const responseInterceptor = axios.interceptors.response.use(function (response) {// 2xx 范围内的状态码都会触发该函数。console.log("响应拦截器:", response);return response;},function (error) {// 超出 2xx 范围的状态码都会触发该函数。console.log("响应拦截器:请求失败:", error.message);return Promise.reject(error);}
);axios.get("/users", {baseURL: "http://localhost:3000",}).then((response) => {console.log("请求成功:", response.data);}).catch((error) => {console.log("请求失败:", error);});

取消拦截

axios.interceptors.request.eject(requestInterceptor);

取消请求

let source = axios.CancelToken.source();axios.get("/users", {baseURL: "http://localhost:3000",cancelToken: source.token,}).then((response) => {console.log("请求成功:", response.data);}).catch((error) => {console.log("请求失败:", error);});source.cancel("hell 取消了");

http://www.ppmy.cn/news/341361.html

相关文章

传统印刷企业需要部署数字工厂管理系统吗

随着数字化技术的快速发展&#xff0c;传统印刷企业面临着巨大的市场竞争压力。为了提高生产效率&#xff0c;降低生产成本&#xff0c;越来越多的企业开始考虑部署印刷数字工厂管理系统。但是&#xff0c;对于许多企业来说&#xff0c;是否部署印刷数字工厂仍然是一个需要权衡…

【Linux脚本篇】循环语句-for

目录 &#x1f341;for的语法格式 &#x1f341;for循环案例 &#x1f343;案例一&#xff1a;循环创建文件 &#x1f343;案例二&#xff1a;应用引号或转义符 &#x1f343;案例三&#xff1a;从变量中取值 &#x1f343;案例四&#xff1a;从命令中取值 &#x1f343;案例五…

Android TextView动态地加载资源文件,避免Native 层内存泄漏或内存溢出

在 Android 中&#xff0c;如果使用 TextView 的 setBackgroundResource() 方法设置背景&#xff0c;可能会导致 Native 层内存增长。这是因为 setBackgroundResource() 方法会将资源文件&#xff08;例如图片&#xff09;加载到内存中&#xff0c;如果频繁地调用该方法&#x…

程序设计语言是什么

对于一个程序设计语言实际上是什么&#xff0c;它被认定的主要用途是什么都不存在某种一致的意见。程序设计语言是一种指挥机器的工具&#xff1f;一种程序员之间交流的方式&#xff1f;一种表述高层设计的媒介&#xff1f;一种算法的记号&#xff1f;一种表述观念间关系的方式…

程序设计语言概述

程序设计语言概述 1、程序设计语言基本概念1.1 程序设计语言类别1.2语言处理程序 2、程序设计语言基本组成(数据、运算、控制、传输) 1、程序设计语言基本概念 1.1 程序设计语言类别 程序设计语言分为机器语言、汇编语言、高级语言。通常人们将机器语言与汇编语言统称为低级语…

计算机程序设计语言

高级语言、汇编语言和机器语言都是用于编写计算机程序的语言。 一.计算机低级语言 计算机低级语言也称为面向机器的语言&#xff0c;使用计算机低级语言编写的程序移植性较差。主要包括机器语言和汇编语言。 &#xff08;1&#xff09;机器语言是由二进制代码0和1组成的若干个…

计算机程序与程序语言

一.计算机程序 计算机程序也叫软件&#xff0c;它告诉计算机该做什么&#xff0c;计算机执行的任何操作&#xff08;从启动到关机&#xff09;都是由程序控制的。程序由一些列命令组成&#xff0c;程序运行时&#xff0c;计算机按特定顺序执行这些命令。 二.编程语言发展历程…

【C】程序设计语言

C语言类型 持续更新2022/10/5 基本类型格式指定符 基本类型 char 字符(一个字节) int 整型 float 浮点型 double 双精度浮点型short long用于限定整形 提供满足不同需求的整数长度 int机器自然长度 short 16位长度 long 32位长度 限定符 short 短整型 限定符 long …