如何组合两个javascript FormData对象

如何组合两个javascript FormData对象,javascript,jquery,jquery-ui,jquery-ui-dialog,Javascript,Jquery,Jquery Ui,Jquery Ui Dialog,我需要组合两个FormData对象,并使用XMLHttpRequest发布它们。其中一个表单包含文件输入 var formData = new FormData(document.forms.namedItem('form-ship')); var poData = new FormData(document.forms.namedItem('po-form')); // Combine them var fData = $.extend(true, formData, poData); 当

我需要组合两个FormData对象,并使用XMLHttpRequest发布它们。其中一个表单包含文件输入

var formData = new FormData(document.forms.namedItem('form-ship'));
var poData = new FormData(document.forms.namedItem('po-form'));

// Combine them
var fData = $.extend(true, formData, poData);
当我使用
$.extend
或使用
serialize()
组合没有文件输入的表单时,它不起作用。你知道怎么做吗?

你不能。不幸的是,不可枚举

但是,正如您所说,只有一个表单包含文件输入。然后,应可以在另一台上使用,并手动读取数据:

var formData = new FormData(document.forms['form-ship']); // with the file input
var poData = jQuery(document.forms['po-form']).serializeArray();
for (var i=0; i<poData.length; i++)
    formData.append(poData[i].name, poData[i].value);
var-formData=new-formData(document.forms['form-ship']);//使用文件输入
var poData=jQuery(document.forms['po-form']).serializeArray();
对于(var i=0;i我是这样做的:

let formData = new FormData($("#f_articulos")[0]);
let formDataPrecios = new FormData($("#f_listado_precios")[0]);
for (var pair of formDataPrecios.entries()) {
    formData.append(pair[0], pair[1]);
}

你能把这两个元素都设置为数组的一员,然后发布数组吗?我不明白。你能详细说明一下吗?对于任何使用它的人来说,IE和其他浏览器都不太支持使用
条目