axios的post请求为什么要使用qs

结论:用不用取决于后端怎么接收参数

axios默认的content-typeapplication/json,即json格式,后台可以使用字符串进行接收,然后再解析即可

以PHP接收为例

1、如果以request()->put()orfile_get_contents('php://input')接收json格式

// 方法1        
// $data = request()->put();
// echo json_encode($data);
// 方法2
$data = file_get_contents('php://input');
echo $data;

则直接传递data参数即可

axios({
    url:'https://xxx/api/test/index',
    method:'post',
    data:{id:1,name:22},
}).then((res)=>{
    console.log(res.data);
})

得到最后结果:
在这里插入图片描述

2、如果采用input()or$_POSTor$_REQUEST等接收表单格式

$data = $_POST;
echo json_encode($data);

则需要使用qs.stringify解析后,content-typeapplication/x-www-form-urlencoded,即form表单格式,后台可以使用实体进行接收

axios({
    url:'https://xxx/api/test/index',
    data:Qs.stringify({id:1}),
    method:'post',
}).then((res)=>{
    console.log(res.data);
})

得到最后结果:
在这里插入图片描述
所以,实际上是否需要用qs去序列化参数完全取决于后端要怎么接受数据。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

苦夏木禾

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

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

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

打赏作者

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

抵扣说明:

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

余额充值