gpt4 book ai didi

javascript - 根据数组的长度为 FormData 中的 .append 创建一个函数。

转载 作者:行者123 更新时间:2023-12-03 01:05:18 26 4
gpt4 key购买 nike

    onSubmit = (e) => {
e.preventDefault()
var stringers = this.state.tags
var tagarray = stringers.split(",");
const formData = new FormData()
formData.append('material[tags]', tagarray)

( this.state.tags 来自 <Input> )

我的 onSubmit 上有这个功能。它不会运行,因为它是错误的代码。

我的问题是:例如,我的 this.state.tags包含"Apples,Oranges,Strawberries" ,会转为数组tagarray值为

["Apple", "Oranges", "Strawberries"]
0: "Apples"
1: "Orange"
2: "Strawberries"
length: 3

现在,我之前已经说过上面的代码是错误的。为什么?因为,如果我从数组传递 3 个值,我的 formData.append应该像

formData.append('material[tags][0]', //one array value(Apples) here)
formData.append('material[tags][1]', //one array value(Oranges) here)
formData.append('material[tags][2]', //one array value(Strawberries) here)

但我无法像这样修复它。我必须创建一个函数来评估数组中有多少个值,然后该函数必须创建所需的 formData.append这样我以后就可以将它传递给我的 axios。我该如何创建它?我是 Javascript 和 ReactJS 的新手,所以请帮助我。谢谢!

最佳答案

使用 forEach() 和模板文字,如下所示:

const formData = new FormData();
tagarray.forEach((value, index) => formData.append(`material[tags][${index}]`, value));

关于javascript - 根据数组的长度为 FormData 中的 .append 创建一个函数。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52436291/

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