我需要使用ajax在服务器上上传照片。我也设置了javascript的表单,但FormData对象总是空的!我已经尝试了各种方法来引用实际的表单,但仍然无法正常工作。
小提琴示例: https://jsfiddle.net/cjngvg8a/
谢谢!
HTML:
<form id="profileImageForm" action="update.php" method="post" enctype="multipart/form-data">
<input type="text" value="hello" name="test" />
<input type="file" name="profile_pic" id="image_upload"/>
<input type="submit" value="Save"/>
</form>
JS:
$('#profileImageForm').on('submit',(function(e) {
e.preventDefault();
var formData = new FormData(this);
console.log(formData);
$.ajax({
type:'POST',
url: $(this).attr('action'),
data:formData,
cache:false,
contentType: false,
processData: false,
success:function(data){
console.log("success");
console.log(data);
}
});
}));