- 2、相应拦截器
- 3、取消拦截
- 六、错误处理
- 七、取消哀求
- 结语
Axios简介
======================================================================
axios框架全称(ajax – I/O – system):
- 基于promise用于浏览器和node.js的http客户端,因此可以利用Promise API
一、axios是干啥的
==========================================================================
说到axios我们就不得不说下Ajax。在旧浏览器页面在向服务器哀求数据时,因为返回的是整个页面的数据,页面都会欺压刷新一下,这对于用户来讲并不是很友好。而且我们只是需要修改页面的部门数据,但是从服务器端发送的却是整个页面的数据,十分消耗网络资源。而我们只是需要修改页面的部门数据,也希望不刷新页面,因此异步网络哀求就应运而生。
Ajax(Asynchronous JavaScript and XML):
异步网络哀求。Ajax可以或许让页面无刷新的哀求数据。
实现ajax的方式有多种,如jQuery封装的ajax,原生的XMLHttpRequest,以及axios。但各种方式都有利弊:
- 原生的XMLHttpRequest的配置和调用方式都很繁琐,实现异步哀求十分麻烦
- jQuery的ajax相对于原生的ajax是非常好用的,但是没有必要因为要用ajax异步网络哀求而引用jQuery框架
Axios(ajax i/o system):
这不是一种新技术,本质上照旧对原生XMLHttpRequest的封装,可用于浏览器和nodejs的HTTP客户端,只不过它是基于Promise的,符合最新的ES规范。具备以下特点:
- 在浏览器中创建XMLHttpRequest哀求
- 在node.js中发送http哀求
- 支持Promise API
- 拦截哀求和相应
- 转换哀求和相应数据
- 取消要求
- 自动转换JSON数据
- 客户端支持防止CSRF/XSRF(跨域哀求伪造)
二、安装利用
=====================================================================
安装有三种方式:
npm安装
npm install axios
bower安装
bower install axios
通过cdn引入
在vue项目标main.js文件中引入axios
import axios from ‘axios’
Vue.prototype.$axios = axios
在组件中利用axios
三、Axios哀求方式
==========================================================================
1、axios可以哀求的方法:
- get:获取数据,哀求指定的信息,返回实体对象
- post:向指定资源提交数据(例如表单提交或文件上传)
- put:更新数据,从客户端向服务器传送的数据取代指定的文档的内容
- patch:更新数据,是对put方法的增补,用来对已知资源进行局部更新
- delete:哀求服务器删除指定的数据
2、get哀求
示例代码
方法一
//哀求格式类似于 http://localhost:8080/goods.json?id=1
this.$axios.get(‘/goods.json’,{
params: {
id:1
}
}).then(res=>{
console.log(res.data);
},err=>{
console.log(err);
})
方法二
this.$axios({
method: ‘get’,
url: ‘/goods.json’,
params: {
id:1
}
}).then(res=>{
console.log(res.data);
},err=>{
console.log(err);
})
3、post哀求
post哀求一般分为两种类型
1.form-data 表单提交,图片上传、文件上传时用该类型比力多
2. application/json 一般是用于 ajax 异步哀求
示例代码
方法一
this.$axios.post(‘/url’,{
id:1
}).then(res=>{
console.log(res.data);
},err=>{
console.log(err);
})
方法二
$axios({
method: ‘post’,
url: ‘/url’,
data: {
id:1
}
}).then(res=>{
console.log(res.data);
},err=>{
console.log(err);
})
form-data哀求
let data = {
//哀求参数
}
let formdata = new FormData();
for(let key in data){
formdata.append(key,data[key]);
}
this.$axios.post(‘/goods.json’,formdata).then(res=>{
console.log(res.data);
},err=>{
console.log(err);
})
4、put和patch哀求
示例代码
put哀求
this.$axios.put(‘/url’,{
id:1
}).then(res=>{
console.log(res.data);
})
patch哀求
this.$axios.patch(‘/url’,{
id:1
}).then(res=>{
console.log(res.data);
})
5、delete哀求
示例代码
参数以明文形式提交
this.$axios.delete(‘/url’,{
params: {
id:1
}
}).then(res=>{
console.log(res.data);
})
参数以封装对象的形式提交
this.$axios.delete(‘/url’,{
data: {
id:1
}
}).then(res=>{
console.log(res.data);
})
//方法二
axios({
method: ‘delete’,
url: ‘/url’,
params: { id:1 }, //以明文方式提交参数
data: { id:1 } //以封装对象方式提交参数
}).then(res=>{
console.log(res.data);
})
6、并发哀求
并发哀求:同时进行多个哀求,并统一处理返回值
示例代码
this.$axios.all([
this.$axios.get(‘/goods.json’),
this.$axios.get(‘/classify.json’)
]).then(
this.$axios.spread((goodsRes,classifyRes)=>{
console.log(goodsRes.data);
console.log(classifyRes.data);
})
)
四、Axios实例
========================================================================
1、创建axios实例
示例代码
自我先容一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到如今。
深知大多数前端工程师,想要提升技能,往往是自己探索成长大概是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此网络整理了一份《2024年Web前端开辟全套学习资料》,初志也很简单,就是希望可以或许帮助到想自学提升又不知道该从何学起的朋侪,同时减轻大家的负担。
既有恰当小白学习的零基础资料,也有恰当3年以上履历的小搭档深入学习提升的进阶课程,根本涵盖了95%以上前端开辟知识点,真正体系化!
由于文件比力大,这里只是将部门目次大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、教学视频,而且后续会持续更新
假如你以为这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
总结
面试前要精心做好预备,简历上写的知识点和原理都需要预备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。
另有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳固的人。
万事开头难,但是步伐员这一条路坚持几年后发展空间照旧非常大的,一切重在坚持。
CodeChina开源项目:【大厂前端面试题剖析+核心总结学习笔记+真实项目实战+最新教学视频】
前端面试题汇总
JavaScript
前端资料汇总
%以上前端开辟知识点,真正体系化!**
由于文件比力大,这里只是将部门目次大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、教学视频,而且后续会持续更新
假如你以为这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-fVgGD5H2-1712065058088)]
总结
面试前要精心做好预备,简历上写的知识点和原理都需要预备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。
另有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳固的人。
万事开头难,但是步伐员这一条路坚持几年后发展空间照旧非常大的,一切重在坚持。
CodeChina开源项目:【大厂前端面试题剖析+核心总结学习笔记+真实项目实战+最新教学视频】
前端面试题汇总
JavaScript
前端资料汇总
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |