Axios 读音为 /ˈæksi.ɒs/,类似于 “阿克索斯”。
在前端 JS 开发中,Axios 主要起到以下作用:
发起 HTTP 请求
-
多种请求方式 :支持常见的 GET、POST、PUT、DELETE、PATCH 等 HTTP 请求方法,可满足不同的数据操作需求,如通过 GET 请求获取数据、POST 请求提交数据等。
-
请求配置灵活 :可以对请求进行详细配置,如设置请求头、请求参数、超时时间、认证信息等,以适应各种复杂的请求场景。
处理响应数据
-
响应数据格式统一 :自动将 JSON 格式的响应数据转换为 JavaScript 对象,方便开发人员直接使用和操作数据。
-
响应拦截处理 :利用响应拦截器,可在接收到服务器响应后、数据被 then 或 catch 处理前,对响应进行预处理,如统一处理响应状态码、解析数据等。
实现请求的可控性
-
拦截请求 :通过请求拦截器,可在请求发送前对请求进行拦截和处理,如添加全局的请求头信息、对请求参数进行加密或格式化、实现请求的加载状态显示等。
-
取消请求 :提供取消请求的功能,可在需要时取消尚未完成的请求,避免不必要的网络请求和资源浪费,提高应用的性能和响应速度。
-
超时控制 :可以设置请求的超时时间,若请求在规定时间内未完成,则会自动触发超时处理机制,提高应用的稳定性和用户体验。
提高开发效率和代码可维护性
-
基于 Promise :作为基于 Promise 的 HTTP 客户端,Axios 的使用方式简洁明了,可避免回调地狱问题,使代码更具可读性和可维护性。
-
封装性好 :可以很方便地对 Axios 进行二次封装,以适配项目的具体需求,如设置项目的全局配置、添加常用的请求拦截和响应拦截逻辑等,提高代码的复用性和开发效率。
其他功能
-
支持浏览器和 Node.js :可在浏览器和 Node.js 环境中使用,方便在不同的开发场景下进行数据交互,实现前后端的统一通信。
-
防御 XSRF :客户端支持防御 XSRF(跨站请求伪造)攻击,可在一定程度上提高应用的安全性。