结论:用不用取决于后端怎么接收参数
axios默认的content-type 是application/json ,即json格式,后台可以使用字符串进行接收,然后再解析即可
以PHP接收为例
1、如果以request()->put() orfile_get_contents('php://input') 接收json格式
$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$_POST or$_REQUEST 等接收表单格式
$data = $_POST;
echo json_encode($data);
则需要使用qs.stringify解析后,content-type 是application/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去序列化参数完全取决于后端要怎么接受数据。
|