Javascript jQuery使用FormData和PHP发布数据
我试图使用ajax、jquery、formdata发布数据,然后使用php处理数据。我看不出在php文件中处理数据的错误在哪里。 最终结果是一个空数组 HTML代码Javascript jQuery使用FormData和PHP发布数据,javascript,php,jquery,Javascript,Php,Jquery,我试图使用ajax、jquery、formdata发布数据,然后使用php处理数据。我看不出在php文件中处理数据的错误在哪里。 最终结果是一个空数组 HTML代码 <form action="ajax.php?action=upload" method="POST" name="submit_upload_album" id="submit_upload_album" enctype="multipart/form-data"> <input type="hidden
<form action="ajax.php?action=upload" method="POST" name="submit_upload_album" id="submit_upload_album" enctype="multipart/form-data">
<input type="hidden" id="input1" name="input1" value="input1">
<input type="hidden" id="input2" name="input2" value="input2">
<input type="hidden" id="input3" name="input3" value="input3">
<input type="hidden" id="input4" name="input4" value="false">
<input type="hidden" id="input5" name="input5">
<input type="hidden" id="input6" name="input6" value="auto">
<input id="title" name="title" class="form-control" type="text" maxlength="70" required/>
<textarea id="description" class="form-control" name="description" rows="4" style="resize: vertical;"></textarea>
<input id="file1" type="file" name="fileupload[]" accept="video/*" required/>
<input id="file2" type="file" name="fileupload[]" accept="audio/*" required/>
<input id="file3" type="file" name="fileupload[]" accept="video/*" required/>
</form>
$(这)在ajax请求中不可访问。您应该按如下方式修改代码:
希望这对您有帮助在检查了PHP配置之后,问题就来了 发布最大文件大小并上载最大文件大小
它们被限制在2M上,因此它阻止了所有其他已发布的参数。不确定此处是否确实需要
序列化
,不幸的是,没有工作给我一个错误未捕获的类型错误:无法构造“FormData”:参数1不是“HTMLFormElement”类型。
并且这个没有序列化的解决方案给出了相同的错误let formData=$(这是)
也尝试了这个新FormData(document.getElementById(“submit\u upload\u album”)
并且它返回一个空数组作为第一个返回。我建议像这个例子一样尝试(包括使用带有“multiple”属性的单个文件输入,而不是几个):
<script type="text/javascript">
$(document).ready(function(e){
// Submit form data via Ajax
$("#submit_upload_album").on('submit', function(e){
e.preventDefault();
$.ajax({
type: 'POST',
url: "ajax.php?action=upload",
data: new FormData(this),
async: true,
beforeSend: function(){
/*$('input[type=submit]').attr("disabled","disabled");*/
},
success: function(response){
$('#answer').html(response);
},
contentType: false,
cache: false,
processData:false
});
});
});
</script>
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header("Access-Control-Allow-Headers: X-Requested-With");
echo '<pre>';
var_dump($_FILES);
echo '<br>';
var_dump($_POST);
echo '</pre>';
?>
array(0) {}
array(0) {}
$("#submit_upload_album").on('submit', function(e){
e.preventDefault();
let formData = $(this).serialize();
$.ajax({
type: 'POST',
url: "ajax.php?action=upload",
data: new FormData(formData),
async: true,
beforeSend: function(){
/*$('input[type=submit]').attr("disabled","disabled");*/
},
success: function(response){
$('#answer').html(response);
},
contentType: false,
cache: false,
processData:false
});
});