Ajax文件上传。发送FORMDATA

问题描述:

HTMLAjax文件上传。发送FORMDATA

<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"; 

我tryied做不同的事情,但继续得到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) 
+0

太棒了!非常感谢你! – David 2015-03-20 05:27:04