Ajax文件上传。发送formData

时间:2015-03-19 09:38:18

标签: ajax file-upload nodes multipartform-data

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

我已尝试做不同的事情但继续作为答案。 有什么方法可以得到肯定的回答

1 个答案:

答案 0 :(得分:1)

您正在将一个jQuery对象传递给FromData构造函数,该构造函数采用一种形式 传递时,从jQuery对象中公开表单

data: new FormData(formdata[0]), // Data sent to server, a set of key/value pairs (i.e. form fields and values)