qs.stringify详解

默认情况下,axios将JavaScript对象序列化为JSON。 要以application / x-www-form-urlencoded格式发送数据,您可以使用以下选项之一。

const qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 }));

或者以另一种方式(ES6)

import qs from 'qs';
const data = { 'bar': 123 };
const options = {
  method: 'POST',
  headers: { 'content-type': 'application/x-www-form-urlencoded' },
  data: qs.stringify(data),
  url,
};
axios(options);

详解:
axios默认的content-type是application/json
也就是java后端经常让你把参数放在body中的那种格式
传输的样式是
requestbody

{
    name:xxx,
    age:xxx
}

如果使用的qs进行序列化
那么content-type就是application/x-www-form-urlencoded
也就是常说的表单提交
传输的样式是
formdata

name:xxx,
age:xxx

urlencoding后是
name=xxx&age=xxx

所以,实际上是否需要用qs去序列化参数完全取决于后端要怎么接受数据

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容