axios
Axios是对ajax进行了封装,可实现异步请求
Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中
1.特性:
- 在浏览器中创建 XMLHttpRequests
- 在 node.js 则创建 http 请求
- 支持 Promise API
- 支持拦截请求和响应
- 转换请求和响应数据
- 取消请求
- 自动转换 JSON 数据
- 客户端支持防御 CSRF
2.使用方法(两种):
- 前后端分离:在前端中引入axios.js文件
- 模块开发:在项目中安装axios模块
npm install axios
3.常用方法:
- axios.request(fonfig)
- axios.get(url[,config])
- axios.post(url[,config])
- axios.delete(url[,config])
- axios.put(url[,config])
4.实例:
axios({
url:'接口地址url',
method:'get/post/put/delete',
responseType:'json'
}).then(response =>{ //请求成功后的响应函数
self.blink=response.data
}).catch(error=>{ //请求失败后的响应函数
console.log(error)
})
axios与ajax的区别及优缺点
1.区别:
axios是通过Promise实现对ajax技术的一种封装,就像jquery对ajax的封装一样
简单来说就是ajax技术实现了局部数据的刷新,axios实现了对ajax的封装,axios有的ajax都有,ajax有的axios不一定有,总结一句话就是axios是ajax,ajax不止axios
2.优缺点:
ajax:
1、本身是针对MVC编程,不符合前端MVVM的浪潮
2、基于原生XHR开发,XHR本身的架构不清晰,已经有了fetch的替代方案,jquery整个项目太大,单纯使用ajax却要引入整个jquery非常不合理(采取个性化打包方案又不能享受cdn服务)
3、ajax不支持浏览器的back按钮
4、安全问题ajax暴露了与服务器交互的细节
5、对搜索引擎的支持比较弱
6、破坏程序的异常机制
7、不容易调试
axios:
1、从node.js创建http请求
2、支持Promise API
3、客户端防止CSRF(网站恶意利用)
4、提供了一些并发请求的接口