Ajax文件上传。发送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)
太棒了!非常感谢你! – David 2015-03-20 05:27:04