gpt4 book ai didi

javascript - 如何在 React Native 中将数组附加到 FormData 中

转载 作者:行者123 更新时间:2023-12-02 16:33:30 28 4
gpt4 key购买 nike

我有三个数组,我必须通过 Axios 将它们发送到 formdata 中。数组的键是 record[]。但我有三个数组,但我只有一个键如何在同一个键上发送三个数组 record[] enter image description here这是我的代码

const params = new FormData();
params.append("record[]", this.props.addedOrders);
params.append("record[]", this.props.addedCustomers);
params.append("record[]", this.props.addedRecovery);

最佳答案

可以使用 FormData 将多个值添加到同一个键。来自doc :

As with regular form data, you can append multiple values with the same name. For example (and being compatible with PHP's naming conventions by adding [] to the name):

这是一个例子:

const params = new FormData();

params.append('record[]', 1);
params.append('record[]', 2);
params.append('record[]', 3);

console.log(params.getAll('record[]'));

由于您的问题询问有关将 arrays 附加到 FormData 的问题,因此值得指出的是 FormData.append 适用于字符串和 blob,以及其他类型将被转换为字符串。

If the sent value is different than String or Blob it will be automatically converted to String.

因此,如果您尝试追加一个数组,默认情况下它将转换为逗号分隔列表。对于将序列化为类似 [object Object] 的对象数组。您也可以使用例如将每个数组编码为一个字符串JSON.stringify,然后在服务器端将数据转换回,但这是一个实现选择。

const params = new FormData();

params.append('record[]', JSON.stringify([{name: 'joe'}, {name: 'bob'}]));
params.append('record[]', JSON.stringify([{name: 'rand'}, {name: 'smith'}]));

console.log(params.getAll('record[]'));

综上所述,我想说您的问题出在其他地方。

关于javascript - 如何在 React Native 中将数组附加到 FormData 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63156462/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com