我需要组合两个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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句