Ajax 文件上传。发送表单数据

Ajax File upload. sending formData

HTML

<form id="uploadimage" action="" method="post" enctype="multipart/form-data">
        <div class="file-input btn btn-block btn-primary">
            + add files
            <input type="file" name="files" id="image_upload" >
        </div>
    </form>

JS

$('#image_upload').change(function(){
var formdata = $(this).parent().parent();
$.ajax({
     url: "/server.php", // Url to which the request is send
     type: "POST",             // Type of request to be send, called as method
     data: new FormData(formdata), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
     contentType: false,       // The content type used when sending data to the server.
     cache: false,             // To unable request pages to be cached
     processData:false,        // To send DOMDocument or non processed data file it is set to false
     success: function(data)   // A function to be called if request succeeds
     {
         alert(data);                          
     }
 });

Server.php

if(isset($_FILES["file"]["type"]))
        {
            echo "YES";
        }
        else echo "NO";

我尝试做不同的事情,但仍然得到 NO 作为答案。 有什么办法可以得到肯定的答复?

您正在将一个 jQuery 对象传递给您的 FromData 构造函数,它采用一种形式。
传递

对象时从 jQuery 对象公开表单
data: new FormData(formdata[0]), // Data sent to server, a set of key/value pairs (i.e. form fields and values)