【发布时间】:2017-09-03 17:12:53
【问题描述】:
我有多个动态生成的表单。 我需要为多个文件以及一些额外的隐藏输入构建 formData。
这是我迄今为止尝试过的:
$(document).on('click', '.upload-btn', function(e){
e.preventDefault();
var formData = new FormData($(this).parents('form')[0]);
$.ajax({
method: "POST",
url: "upload.php",
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: formData,
beforeSend: function(){
...
},
success: function(){
...
}
});
});
奇怪的是,这以某种方式起作用,并且文件确实被上传到服务器,我可以对临时文件执行各种操作,但是...... 如果我 var_dump $_POST 文件不在其中,则文件永远不会成为 $_POST 数组的一部分。
有没有更好的方法来构建 formData?当我测试 isset($_POST['file[]'])
非常感谢任何帮助。
【问题讨论】:
-
您的表单标签中可能缺少 enctype="multipart/form-data"
-
它就在那里,相信我。否则,它只会上传第一张图片。这东西有效,但我不知道文件是如何发布的。