在jquery中将多个数据附加到FormData的最有效方法



只是想看看向FormData添加数据的最有效方法是什么。我能想到的两种方式是:

var file = document.getElementById("fileName").files[0];
var formData = new FormData();
formData.append("file", file);
formData.append("id", $("#ID").val());
formData.append("Name", $("#nameOne").val());
formData.append("Name2", $("#nameTwo").val());
formData.append("Name3", $("#nameThree").val());

或:

var file = document.getElementById("fileName").files[0];
var formData = new FormData();
formData.append({ "file": file, 
"id": $("#ID").val()), 
"Name": $("#nameOne").val(), 
"Name2": $("#nameTwo").val(), 
"Name3": $("#nameThree").val()
});

那么,它是其中之一,还是有更有效的方法将文件/数据附加在一起?

最简单的方法是将表单元素传递给FormData(),并确保控件上的name与您想要发送的相匹配

<form id="myForm">
File: <input name="file" type="file"/>
ID: <input name="id" />
Name: <input name="Name" />
Name 2: <input name="Name2" />
</form>

var formData = new FormData(document.querySelector('#myForm'));

最新更新