📅  最后修改于: 2023-12-03 14:41:18.999000             🧑  作者: Mango
在前端开发过程中,我们有时会需要通过表单上传一些数据到后端,这时 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,可以在追加数据时将其转换为字符串进行传递。