axios的理解
axios是通过promise实现对ajax技术的一种封装,就像jquery实现ajax封装一样。
vue2之后vue-resource就不在更新了,推荐使用axios,
axios可以拦截请求和响应,在then() catch处理前拦截他们,
可以用在请求动画等
简单来说:ajax技术实现了网页的局部数据刷新,axios实现了对ajax的封装
优缺点
ajax
ajax,本身是针对mvc的编程,不符合现在前端的mvvm的浪潮
ajax,基于原生xhr开发,XHR本身的架构不清晰,已经有了fetch的替代方案
query整个项目太大,单纯使用ajax却要引入整个jquery非常不合理
axios
从node.js创建http请求
支持promise api
客户端支持防止(csrf)网站恶意利用
提供了一些并发请求接口(重要,方便了很多的操作)
axios.all([
axios.get('data.json'),
axios.get('city.json')
]).then(
axios.spread((dataRes,cityRes)=>{
console.log(dataRes,cityRes)
})
).catch(err=>{
})
all同时进行两个请求,同时输出两个结果,
spread在继续对返回值处理,输出
当需要同时请求多个接口时,并同时处理返回值时可以使用并发请求
axios.post('/login',{
username:'zmq',pwd:'123'}).then(res=>