1、axios是前端最流行的ajax请求库。
2、特点:
(1)axios 是一个基于promise的HTTP库,支持promise所有的API
(2)浏览器端/node端(服务器端)都可以使用,浏览器中创建XMLHttpRequests
(3)支持请求/响应拦截器
(4)它可以转换请求数据和响应数据,并对响应回来的内容自动转换成 JSON类型的数据
(5)批量发送多个请求
(6)安全性更高,客户端支持防御XSRF
3、常用方法:(增删改查)
(1)axios.get(url[, config]) //get请求用于列表和信息查询
(2)axios.post(url[, data[,config]])//post请求用于信息的添加
(3)axios.delete(url[, config]) //删除
(4)axios.put(url[, data[, config]]) //更新操作
5、其他语法:
axios.all(promises):用于批量执行多个ajax异步请求
axios.create([config]):创建一个新的 axios(它没有下面的功能)
axios.Cancel(): 用于创建取消请求的错误对象
axios.CancelToken():用于创建取消请求的 token 对象
axios.defaults.xxx: 请求的默认全局配置
6、axios在浏览器端使用XMLHttpRequest对象发送ajax请求;在node环境使用http对象发送ajax请求。
7、axios相比原生ajax的优点/ajax的缺点
本身是针对MVC的编程,不符合现在前端MVVM的浪潮
基于原生的XHR开发,XHR本身的架构不清晰。
JQuery整个项目太大,单纯使用ajax却要引入整个JQuery非常的不合理(采取个性化打包的方案又不能享受CDN服务)
不符合关注分离(Separationof Concerns)的原则
配置和调用方式非常混乱,而且基于事件的异步模型不友好。
8、底层怎么实现的:axios原理还是属于XMLHttpRequest,因此需要实现一个ajax,需要创建一个promise对象来对结果进行处理。