首页 > 解决方案 > PHP JQuery Ajax $_FILES['file'] 未定义索引错误

问题描述

我有一个上传图像文件的表单,但它不工作。我试过提交和点击事件,当我删除 if 语句时出现错误。在此先感谢您的帮助。

                <form action="index.php" method="POST" enctype="multipart/form-data" id="image-1">
                    <label class="btn btn-default" id="label-1">Upload Image
                        <input type="file" name="file" multiple="multiple" id="file-1">
                    </label>
                    <span id="save-1"></span>
                </form>


    $('#save-1').on('click', function(event){
        event.preventDefault();
        var sliderForm = $('#image-1')[0];

        $.ajax({
            url: 'image-1.php',
            method: 'POST',
            data: new FormData(sliderForm),
                contentType: false,
                cache: false,
                processData:false,
                enctype: 'multipart/form-data',
                success:function(data){
                $('.update-res').html(data);
            }
        });

    });

PHP 脚本

if (isset($_FILES['file'])) {
echo $file = $_FILES['file']['name'];
}

标签: phpjqueryfile

解决方案


<form action="index.php" method="POST" enctype="multipart/form-data" id="image-1">
   <label class="btn btn-default" id="label-1">Upload Image
       <input type="file" name="file"  multiple="multiple" id="file-1">
   </label>
   <span id="save-1"></span>
</form>

试试这个代码new FormData(document.getElementById("file-1"))

    $('#save-1').on('click', function(event){
        event.preventDefault();
        var sliderForm = $('#image-1')[0];

        $.ajax({
            url: 'image-1.php',
            method: 'POST',
            data: new FormData(document.getElementById("file-1")),
            contentType: false,
            cache: false,
            processData:false,
            enctype: 'multipart/form-data',
            success:function(data){
                $('.update-res').html(data);
            }
        });

    });

类似问题: PHP File Upload Undefined Index error


推荐阅读