Javascript 如何为Ajax上传文件
我试图通过ajax提交一个表单,其中包含一些图像。下面的代码返回一个对象(在Javascript 如何为Ajax上传文件,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图通过ajax提交一个表单,其中包含一些图像。下面的代码返回一个对象(在控制台.form),“FormData”,但是如何使用和/或检索它,以及它是否正确 $("#form_galeria").unbind('submit').bind('submit', function(e) { e.preventDefault(); var url = 'salvarGaleria.do'; var form; form = new FormData();
控制台.form
),“FormData
”,但是如何使用和/或检索它,以及它是否正确
$("#form_galeria").unbind('submit').bind('submit', function(e) {
e.preventDefault();
var url = 'salvarGaleria.do';
var form;
form = new FormData();
form.append('fileUpload', e.target.files);
console.log(form);
$.ajax({
type: "POST",
url: url,
data: $("#form_galeria").serialize(),
processData: false,
contentType: false,
success: function(result) {
console.log(result);
},
error: function(err) {
console.log(err.status + ' - ' + err.statusText);
}
});
$('#multiplas').modal('hide');
return false;
});
将ajax
data
选项设置为FormData对象。如果希望将字段值与文件上载一起发送,则还需要向FormData对象添加任何字段值。此外,您还必须附加每个个人文件。您不能只附加e.target.files
集合
for(var i=0; i<e.target.files.length; i++){
form.append("fileUpload[]",e.target.files[i]);
}
//or if you are only doing a single file
//form.append("fileUpload",e.target.files[0]);
form.append("someField",jQuery("#someField").val());
form.append("someOtherField",jQuery("#someOtherField").val());
$.ajax({
type: "POST",
url: url,
data: form,
processData: false,
contentType: false,
success: function(result){
console.log(result);
},
error: function(err){
console.log(err.status + ' - ' + err.statusText);
}
});
(变量i=0;i)的