如何将jquery表单对象转换为FormData?

时间:2017-08-31 02:59:11

标签: javascript jquery

我正在获得像这样的jquery对象

var form = $("#form1");

如何将其转换为FormData对象?我是否必须从jquery表单中获取html然后遍历所有输入类型并执行它还是有更强大的方法来执行它?

3 个答案:

答案 0 :(得分:1)

var formData = new FormData($('form')[0]); // Create an arbitrary FormData instance

jQuery.ajax('/endpoint.php', {
    processData: false,
    contentType: false,
    data: formData
});

有关详细信息,请参阅mattlunn blogs

答案 1 :(得分:0)

你可以这样做:

var data = $('#form').serializeArray().reduce(function(obj, item) {
obj[item.name] = item.value;
return obj;
}, {});

答案 2 :(得分:0)

这很容易。 您只需要使用FormData的默认构造函数。

var myForm = $("#form")[0];
var formData = new FormData(myForm);

上面的代码可以获取您想要的内容。