Axios 是什么?
Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http
模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。
特性
-
支持客户端发送Ajax请求
-
支持服务端Node.js发送请求
-
支持Promise相关用法
-
支持请求和响应的拦截器功能
-
自动转换JSON数据
-
axios 底层还是原生js实现, 内部通过Promise封装的
安装
npm i axios //使用npm
yarn add axios //使用yarn
axios的基本使用
axios({
method: '请求方式', // get post
url: '请求地址',
data: { // 拼接到请求体的参数, post请求的参数
xxx: xxx,
},
params: { // 拼接到请求行的参数, get请求的参数
xxx: xxx
}
}).then(res => {
console.log(res.data) // 后台返回的结果
}).catch(err => {
console.log(err) // 后台报错返回
})
axios的配置选项只有 url
是必需的。如果没有指定 method
,请求将默认使用 GET
方法。
axios同步之async-----await
在某些特定的时候 也会用到axios同步 虽然异步大大提高了效率,但实际也会有一些时候需要同步,这个时候就可以用到async–await了
使用场景以及需求
1.需要在页面渲染时通过created生命周期用axios请求数据,并将数据赋值给一个变量,
2.在变量接收完成后,对变量进行过滤筛选出我想要的数据
必须在页面渲染前完成以上两个需求
async created() { //页面加载会加载 ,返回的是promise对象
const { data } = await axios({
url: 'https://www.escook.cn/api/ods',
})
console.log(data)
},