Axios入门使用

文章目录

Axios入门使用

一、引言

随着前端技术的发展,前后端分离已成为标准开发模式。Axios作为一种基于Promise的HTTP客户端,被广泛应用于浏览器和node.js中,用于执行HTTP请求。本篇博客将详细介绍Axios的基本使用。

二、Axios的安装与配置

1、安装Axios

首先,需要安装Axios库。可以通过npm或yarn进行安装:

shell 复制代码
npm install axios

或者

shell 复制代码
yarn add axios

也可以通过CDN直接引入到HTML文件中:

html 复制代码
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

2、创建Axios实例

Axios可以创建实例,以便于根据不同的环境进行配置:

javascript 复制代码
const instance = axios.create({
  baseURL: 'https://api.example.com',
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'}
});

三、发送HTTP请求

1、GET请求

使用Axios发送GET请求非常简单,如下所示:

javascript 复制代码
axios.get('/user?ID=12345')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

也可以通过params对象传递查询参数:

javascript 复制代码
axios.get('/user', {
    params: {
      ID: 12345
    }
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

2、POST请求

发送POST请求,可以使用以下代码:

javascript 复制代码
axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

3、并发请求

Axios支持并发请求,可以同时发送多个请求并统一处理:

javascript 复制代码
function getUserAccount() {
  return axios.get('/user/12345');
}
function getUserPermissions() {
  return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()])
  .then(axios.spread(function (acct, perms) {
    //两个请求现已完成
    console.log(acct, perms);
  }));

四、配置和拦截器

1、配置默认值

可以为Axios设置默认值,例如:

javascript 复制代码
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;

2、拦截器

Axios支持添加请求和响应拦截器:

javascript 复制代码
// 添加请求拦截器
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);
});

五、错误处理和取消请求

1、错误处理

Axios可以通过catch方法来处理错误:

javascript 复制代码
axios.get('/user/12345')
  .catch(function (error) {
    if (error.response) {
      // 请求已发出,但是服务器响应的状态码不在2xx范围内
      console.log(error.response.data);
      console.log(error.response.status);
    } else {
      // 一些在设置请求时触发的错误
      console.log('Error', error.message);
    }
    console.log(error.config);
  });

2、取消请求

Axios支持取消请求:

javascript 复制代码
const CancelToken = axios.CancelToken;
let cancel;

axios.get('/user/12345', {
  cancelToken: new CancelToken(function executor(c) {
    // executor函数接收一个cancel函数作为参数
    cancel = c;
  })
});

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

四、总结

Axios是一个强大而灵活的HTTP客户端,适用于浏览器和node.js环境。通过简单的配置和使用,可以快速地进行HTTP请求,并支持Promise API,使得异步请求处理更加方便。掌握Axios的使用,可以显著提升开发效率。


版权声明:本博客内容为原创,转载请保留原文链接及作者信息。

参考文章

相关推荐
Hacker_Nightrain32 分钟前
网络安全CTF比赛规则
网络·安全·web安全
网络安全指导员1 小时前
恶意PDF文档分析记录
网络·安全·web安全·pdf
co0t2 小时前
计算机网络(11)和流量控制补充
服务器·网络·计算机网络
白总Server2 小时前
JVM解说
网络·jvm·物联网·安全·web安全·架构·数据库架构
清尘沐歌2 小时前
有什么好用的 WebSocket 调试工具吗?
网络·websocket·网络协议
Li_0304063 小时前
Java第十四天(实训学习整理资料(十三)Java网络编程)
java·网络·笔记·学习·计算机网络
Tony聊跨境3 小时前
什么是 ISP:了解互联网服务提供商的作用
网络·人工智能·isp
earthzhang20213 小时前
《深入浅出HTTPS》读书笔记(7):安全的密码学Hash算法
网络·网络协议·http·https·1024程序员节
Hacker_Oldv3 小时前
【网络工程】计算机硬件概述
前端·网络·安全·web安全