Zai*_*shi 2 javascript react-native axios
我有三个数组,我必须通过 Axios 将它们发送到 formdata 中。数组的键是record[]。但是我有三个数组,但我只有一个键,如何在同一个键上发送三个数组记录[]
这是我的代码
const params = new FormData();
params.append("record[]", this.props.addedOrders);
params.append("record[]", this.props.addedCustomers);
params.append("record[]", this.props.addedRecovery);
Run Code Online (Sandbox Code Playgroud)
可以使用 向同一个键添加多个值FormData。来自文档:
与常规表单数据一样,您可以附加多个具有相同名称的值。例如(并通过在名称中添加 [] 来兼容 PHP 的命名约定):
这是一个例子:
const params = new FormData();
params.append('record[]', 1);
params.append('record[]', 2);
params.append('record[]', 3);
console.log(params.getAll('record[]'));Run Code Online (Sandbox Code Playgroud)
由于您的问题询问如何将数组附加到FormData,因此值得指出它FormData.append适用于字符串和 blob,而其他类型将转换为字符串。
如果发送的值与 String 或 Blob 不同,它将自动转换为 String。
因此,如果您尝试追加数组,默认情况下它将转换为逗号分隔的列表。对于将序列化为类似[object Object]. 您也可以使用 eg 将每个数组编组为字符串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[]'));Run Code Online (Sandbox Code Playgroud)
综上所述,我想说你的问题出在其他地方。
| 归档时间: |
|
| 查看次数: |
4786 次 |
| 最近记录: |