axios处理数组传参

表单POST方式提交默认头信息为Content-Type: application/x-www-form-urlencoded,参数是自动序列化好的不需要另做处理

但有一种POST情况不是用表单提交的,后端希望接收的参数与表单提交的格式保持一致,这时就需要前端对参数做序列化处理了,这里常用的是qs处理

安装qs

npm install qs -S

后端要求的数组参数为以下格式:

在这里插入图片描述

前端的原始参数:

let  params =  {
     
	points: [ 
	    {
      lat: 111, lng: 222 }
	]
};
params = qs.stringify(params); //序列化

用qs.stringify)序列化后得到的默认是下面这种格式:
在这里插入图片描述
这种格式与后端要求的格式有些许不同,也因为这个小不同导致后端接收不到传过去的参数。

找了qs的资料,加上数组格式化配置最终解决

qs.stringify(params, {
      arrayFormat: 'indices', allowDots: true })

在这里插入图片描述

你可能感兴趣的:(处理数组,axios,传参,处理)