【发布时间】:2016-05-14 18:24:09
【问题描述】:
我正在尝试使用简单的 HTML 表单通过 AJAX 上传图像,其中包括 input[type='file'] 元素和 formData(),但是当我检查 formData() 时,它似乎是空的,并且没有任何内容传递到服务器.
jQuery
//Dynamically loaded form
$(document).on('submit', '.update-form', function(e) {
e.preventDefault();
var form = $(this);
amendDatabase(form);
});
function amendDatabase(form) {
var formData = new FormData(form);
console.log(formData); //This produces 'formData: No properties'
var url = 'file.php';
request = $.ajax({
url: url,
method: 'post',
data: formData,
processData: false,
contentType: false
});
request.done(function(data) {
console.log(data); //This produces an empty/blank return
});
}
file.php
function uploadFile() {
echo 'formData was passed to server';
}
uploadFile();
HTML
<form class="update-form" id="add-file" enctype="multipart/form-data">
<label for="image">Product image</label>
<input type="file" id="image" name="image" multiple="multiple">
<div class="hidden-holder">
<input type="hidden" id="action" name="action" value="file">
</div>
<div class="submit-holder">
<input type="submit">
</div>
</form>
【问题讨论】:
-
你看过传递的参数了吗?
-
@CharlotteDunois 你指的是哪个传递的参数?
标签: php jquery ajax file-upload form-data