在表单提交上我使用jQuery收集包含文件的数据并使用以下方法创建表单值的FormData对象:
var formData = new FormData($("form#formid")[0]);
但是如何添加另一个值并且它是此FormData对象的关键?
答案 0 :(得分:22)
var formData = new FormData($("form#formid")[0]);
formData.append("key", "value")
答案 1 :(得分:2)
您可以迭代表单中的所有字段,并以这种方式轻松地将它们添加到FormData
:
var formData = new FormData();
$("form#edit-account").serializeArray().forEach(function(field) {
formData.append(field.name, field.value)
});
答案 2 :(得分:0)
$( 'form' ).submit(function ( e ) {
var data;
data = new FormData();
data.append( 'file', $( '#file' )[0].files[0] );
$.ajax({
url: 'http://hacheck.tel.fer.hr/xml.pl',
data: data,
processData: false,
type: 'POST',
success: function ( data ) {
alert( data );
}
});
e.preventDefault();
});
答案 3 :(得分:0)
var data = new FormData(),
fields = $("#myForm").serializeArray();
$.each( fields, function( i, field ) {
data.append(field.name, field.value);
});
答案 4 :(得分:0)
您也可以使用FormData.set()。
FormData.set和append()之间的区别在于 指定的密钥已经存在,FormData.set将覆盖所有现有的 使用新值的值,而append()将追加新值 到现有价值观的末尾。
<强>语法强>:
formData.set(name, value);