📜  formdata 追加字符串数组 (1)

📅  最后修改于: 2023-12-03 14:41:18.999000             🧑  作者: Mango

FormData 追加字符串数组

在前端开发过程中,我们有时会需要通过表单上传一些数据到后端,这时 FormData 对象就能派上用场。FormData 对象与普通的表单提交不同之处在于它可以通过 Ajax 进行异步上传,并且可以方便地将二进制数据上传到后端。

FormData 对象有多种方式可以向其中添加数据,其中包括了追加字符串数组的方法。

FormData.append() 方法

FormData 对象提供了 append() 方法用于向其中追加数据。该方法的语法如下:

formData.append(name, value);

其中,name 是追加数据的名称,value 是要追加的数据。如果你追加的数据是字符串,则该方法会直接将其转换为二进制数据。如果你要追加数组,则可以将其作为值传入,如下所示:

let formData = new FormData();

let arr = ['a', 'b', 'c'];
formData.append('myArray', arr);

console.log(formData.get('myArray')); // 输出 "a,b,c"

可以看到,append() 方法会将数组转换为字符串,并以逗号分隔的形式存储到 FormData 对象中。

如果你需要以另一种格式存储数组,比如以 JSON 格式存储,可以在追加数据时将数组转换为 JSON 字符串进行传递:

let formData = new FormData();

let arr = ['a', 'b', 'c'];
formData.append('myArray', JSON.stringify(arr));

console.log(formData.get('myArray')); // 输出 "["a","b","c"]"
总结

FormData 对象的 append() 方法可以用于追加字符串数组到表单中进行异步上传。如果你需要以其他格式存储数组,比如 JSON,可以在追加数据时将其转换为字符串进行传递。