编程语言
首页 > 编程语言> > 如何合并两个JavaScript FormData对象

如何合并两个JavaScript FormData对象

作者:互联网

我需要组合两个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()合并没有文件输入的表单时,它不起作用.任何想法如何做到这一点?

解决方法:

你不能.不幸的是,不能枚举FormData.

但是,正如您所说,您的表单中只有一个包含文件输入.然后应该可以使用另一端的serializeArray和手动的数据append

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

标签:javascript,jquery,jquery-ui,jquery-ui-dialog
来源: https://codeday.me/bug/20191010/1887643.html