在jQuery

时间:2018-07-21 13:52:21

标签: jquery form-data

只是想看看将数据添加到FormData的最有效方法。我能想到的2种方法是:

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()
               });

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

1 个答案:

答案 0 :(得分:1)

最简单的方法是将表单元素传递给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'));