问题描述
我必须向API端点发出发布请求,并且要求请求的主体以application / x-www-form-urlencoded编码。
这是我目前正在做的事情:
// Request data
const data = {
grant_type: "client_credentials",};
// Request configuration
const config = {
method: "post",url,data,headers: {
"Content-Type": "application/x-www-form-urlencoded",Authorization:
"Basic " +
Buffer.from(clientId + ":" + clientSecret).toString("base64"),},};
return axios(config).then(.....
如您所见,我的数据为JSON格式,那么如何传递以application / x-www-form-urlencoded编码的数据?
有什么想法吗?谢谢。
解决方法
此:
JSON.stringify(data);
将返回
'data = {"grant_type": "client_credentials"}'
,
application/x-www-form-urlencoded
意味着您可以:
发送FormData正文:axios post request to send form data
或通过url查询字符串发送数据:How to post query parameters with Axios?
您也可以将两者结合在一起。
当JSON编码不符合要求时,通常使用此编码。发送文件。您可以使用json字符串发送文件,但这将是base64编码的文件作为字符串,这会增加大小。