2-07-axios

一、什么是axios

目前前端圈最火的专注于网络请求的库。Vue和React项目经常需要使用。

中文官网:http://www.axios-js.com/

二、基础语法

三、得到的回复

axios返回的结果外面会再套一层,包含请求头,请求数据,状态等数据,真正的数据在data这一属性中

使用解构获得data

如果我们想直接拿到data中的内容,可以用解构的方法进行赋值,用法如下:

const { data: res } = axios(xxxxxx);

其中res就是我们要的数据

四、传参

params是URL的查询参数,就是URL后面?跟的一堆参数

data则是POST中使用的请求体参数

具体用法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<script src="./axios.min.js"></script>

<script>

axios({

methods: 'GET',

url: 'http://www.liulongbin.top:3006/api/getbooks',

// URL中的查询参数

params: {

id: 1

},

// 请求体参数

data: {

}

}).then(function(result) {

console.log(result);

});

</script>

五、结合async和await调用axios

如调用某个方法的返回值是Promise实力,则前面可以添加await。

await只能用在被async修饰的方法中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<body>

<button id="btnPost">发送POST请求</button>

</body>

<script src="./axios.min.js"></script>

<script>

document.querySelector('#btnPost').addEventListener('click', async
function(){

const result = await axios({

method: "POST",

url: "http://www.liulongbin.top:3006/api/post",

data: {

name: "zs",

age: 20

}

});

console.log(result);

});

</script>

六、基于axios.get和axios.post发出请求

axios.get:

1
2
3
4
5
6
const { data: res } =
axios.get('http://www.liulongbin.top:3006/api/getbooks', {

params: { id: 1 }

});

axios.post:

1
2
3
4
5
6
const { data: res } =
axios.post('http://www.liulongbin.top:3006/api/post', {

data: { name: 'zs', gender: '女' }

});

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!