FormData 传递参数有数组类型时,传送的数据格式不对怎么办?

本文介绍如何使用JSON.stringify方法处理数组数据,并通过FormData正确传递至后端。针对不同类型的数组,演示了如何避免传递过程中数据被错误解析的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//要传递的数据类型:

//【第一种】:
var arr=[
    {a:"1",b:"s",c:"6"},
    {a:"1",b:"s",c:"6"},
    {a:"1",b:"s",c:"6"}
];
//【第二种】:
var arrs = [
    ["v1","v2","v1"],
    ["v1","v2","v1"],
    ["v1","v2","v1"]
];

//正常直接 formData.append("name", val) 传递,后台接收:

第一种:"arr" => "[object Object],[object Object],[object Object]"
第二种:"arrs" => "v1,v2,v1,v1,v2,v1,v1,v2,v1"

//这些都不是我们想要的,那我们应该怎么处理呢?很简单用JSON.stringify转化一下即可:

formData.append("arr", JSON.stringify(arr));
formData.append("arrs", JSON.stringify(arrs));

//这样就能得到我们想要的数据了

第一种:"arr" => "[{"a":"1","b":"s","c":"6"},{"a":"1","b":"s","c":"6"},{"a":"1","b":"s","c":"6"}]"
第二种:"arrs" => "[["v1","v2","v1"],["v1","v2","v1"],["v1","v2","v1"]]"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值