1-11 axios的post请求

Axios的post请求

本篇讲解一下axios的post请求,安装的话,可查看上篇文章。下面看下基本写法:

this.$axios.post(url,{
user:"mrwang",
id:"1"
}).then(res =>{
console.log(res)
}).catch(error =>{
console.log(error)
})

当你如上写法以后,你会发现,接口请求失败,原因是参数缺失,你仔细研究过后,会发现,参数确实传了。为什么会说参数没有传递呢,其实问题出在这里:

axios接受的post请求接收的参数的格式有两种比较常用的:

1.from-data:
数据格式为:?name=wang&age=18

2.x-www-form-urlencoded:
数据格式为:{name:‘wang’,age:18}

然而post请求接受的参数格式应该为from-data格式。这个是时候你去查看你的参数,就会发现,你的请求默认格式实际上是第二种,所以接口请求失败,那么问题找到了,我们该如何做格式的转换呢,方法如下:

//这里面我们在当前组件内引入一个第三方库

import qs from 'qs'
第三方库上面有一个方法:qs.stringify()  把它写在传递的参数外层就可以了,如下:


this.$axios.post(url,qs.stringify({
user:"mrwang",
id:"1"
})).then(res =>{
console.log(res)
}).catch(error =>{
console.log(error)
})


其实,这里qs是querystring的简写,它主要是针对参数的转换的。具体可参考querystring官网。

再次进行接口的请求,我们会发现接口已经请求成功了。这个点很重要,vue里面做post请求是一定要进行格式转换的,不然post请求是不会成功的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

画不完的饼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值