Javascript jQuery使用FormData和PHP发布数据

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

我试图使用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" 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
            });
        });