首页 / IOS / 05-快速上手axios
05-快速上手axios
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了05-快速上手axios,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3536字,纯文字阅读大概需要6分钟。
内容图文
![05-快速上手axios](/upload/InfoBanner/zyjiaocheng/992/b88597b1a4a84b7998449128ac208fac.jpg)
Axios,可以理解为 ajax i/o systemAxios ,是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests:
- 在浏览器中创建
XMLHttpRequest
请求- 在
node.js
中发送http
请求- 支持
Promise API
- 拦截请求和响应
- 转换请求和响应数据
- 取消要求
- 自动转换
JSON
数据- 客户端支持防止
CSRF/XSRF
(跨域请求伪造)更多详情请点击官网
下面我将结合vue-cli
和node
第三方包来对axios进行快速使用,不会vue-cli请点击
快速上手axios
一、安装
打开我们创建好的脚手架(脚手架最好带router),打开 终端 或者 cmd 找到我们所写的文件 输入npm install axios --save
二、基础使用
2.1、axios导入
import axios from 'axios'
2.2、创建axios实例
axios常见参数:
url
:请求的接口路径method
(可选):请求的方式,可以是get、post、put、delete、head、options等等(默认不写为get请求)params
(可选):在get请求方式下携带的参数,即端口?后的参数data
(可选):在post请求方式下携带的参数
前面说过axios
是基于promise
网络请求库的,所以它可以像使用promise一样进行异步回调,如下可以用:
.then
来异步获取请求的数据,.catch
来异步获取请求的报错
注意:请求的接口路径是后端人员提供给我们的,如果后端人员未提供,我们也可以先利用mockjs
去模拟数据接口
axios({
url: "请求的接口路径",
method: '请求的方式',
params: {
type: 'sell',
page: 5
}
}).then(res =>
console.log(res)
).catch(error =>
console.log(error)
)
2.3、以上就是我们使用axios的基本步骤,下面演示全部代码以及结果
三、进阶使用
3.1、axios简写
当我们要用的url的路径太长并且要多次使用的时候,我们可以把其基础的路径利用axios.defaults
提取出来。如下
axios.defaults.baseURL = 'http://www/8080'
axios.defaults.timeout = 5000
axios({
url: "home", //这里axios会自动帮我们拼接地址,相当于http://www/8080/home
method: 'get'
}).then(res =>
console.log(res)
).catch(error =>
console.log(error)
)
3.2、axios并发请求
当我们想要同时满足多个请求条件时再进行数据传送,我们也可以利用 axios 所提供的创建实例方法:axios.all
3.3、axios局部实例
以上我们定义的全部是axios全局实例,如果我们想使用局部的axios,也非常的简单。利用axios.create
来创建局部实例,给它一个变量保存,我们在下面就可以多次调用了。具体使用如下:
const instance1 = axios.create({
baseURL: 'http://www/8080',
timeout: 5000
})
instance1({
url: '/home/multidata'
}).then(res => {
console.log(res);
})
instance1({
url: '/home/data',
params: {
type: 'sell',
page: 5
}
}).then(res => {
console.log(res);
})
3.4、axios拦截器与响应器
3.4.1、axios拦截器
拦截器request
是指当发送请求或者得到响应被then或catch处理之前对数据进行拦截,拦截后可对数据做一些处理,比如:
- 给请求数据添加头部信息,或对响应数据进行序列化,然后再传给浏览器,这些都可以在拦截器中进行
- 每次发送网络请求时,都希望在界面中显示一个请求图标
- config中的一些信息不符合服务器的要求
- 某些网络请求(比如登录(token)),必须携带一些特殊的信息
注意:拦截的数据一定要返回,否则无法取到数据
//对instance数据进行拦截,instance是一个axios局部实例对象
instance.interceptors.request.use(config => {
console.log(config);
return config
}, err => {
console.log(err);
});
3.5.1、axios响应器
响应器response
是指拦当数据响应前对数据进行一下处理,往往数据可能夹杂很多我们不需要的内容,我们可以利用响应器对其进行过滤筛选。
注意:拦截的数据一定要返回,否则无法取到数据
//对instance数据进行拦截,instance是一个axios局部实例对象
instance.interceptors.response.use(res => {
return res.data
}, err => {
console.log(err);
});
内容总结
以上是互联网集市为您收集整理的05-快速上手axios全部内容,希望文章能够帮你解决05-快速上手axios所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。