【发布时间】:2017-11-07 11:53:19
【问题描述】:
我看到了一些使用 formdata 通过 ajax 上传图像的简单代码,但在 php 端,它在 $_POST 内显示为 NULL,我尝试使用 echo $_POST['file']['name'],但它没有任何回应...
我的 php 文件有:
var_dump($_POST);
如何使用ajax发送给php的formData(在php中)?
$(document).on('change','#image',function(){
var fd = new FormData();
fd.append( 'file', $(this).prop("files")[0]);
console.log(fd);
$.ajax({
type: 'post',
processData: false,
contentType: false,
url: './images.php',
data: fd,
success: function(a){
console.log(a);
}
});
});
#image{display:none}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<label for="image"><i class="fa fa-camera" aria-hidden="true"></i></label><input type="file" name="file" id="image">
【问题讨论】:
-
你的表格在哪里?
-
我在不需要表格的地方读到了。
-
你的意思是 $_FILES 而不是 $_POST
-
$_FILES['file']['tmp_name']
-
$_FILES['file']['name']
标签: javascript php jquery ajax