axios的post请求,数据为什么要用qs处理?什么时候不用?

本文讲述了在使用axios发送POST请求时,如何根据服务器接口需求对JSON数据进行qs库的序列化处理,以适应application/x-www-form-urlencoded格式,以及何时不需要序列化的场景。

        在使用 axios 发送 POST 请求时,有时候需要将数据进行序列化处理。这是因为在发送 POST 请求时,一般会使用请求体(body)来传递参数数据。而对于某些数据格式(如 JSON),axios 默认会将请求体数据以 JSON 形式发送,但对于某些服务器后台接口可能要求使用表单形式(即 application/x-www-form-urlencoded 格式)或者其他特定的数据格式。

这时,可以使用 qs 库(如 import qs from 'qs';)对数据进行序列化处理,以满足服务器对数据格式的要求。

axios默认的content-type是application/json,即json格式,但后台大多接收的是formData格式的数据则需要使用qs.stringify解析后,content-type是application/x-www-form-urlencoded,即form表单格式,后台可以使用实体进行接收
如果后台以request()-> put()orfile_get_contents('php://input')接收json格式,则可以不用使用如果采用input()or$_POSTor$_REQUEST等接收表单格式,必须使用
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值