Javascript Var dump formdata as POST返回NULL
我看到了一些使用formdata通过ajax上传图像的简单代码,但在php端,它在$\u POST中显示为NULL,我尝试回显$\u POST['file']['name'],但它没有回显任何内容 我的php文件有:Javascript Var dump formdata as POST返回NULL,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我看到了一些使用formdata通过ajax上传图像的简单代码,但在php端,它在$\u POST中显示为NULL,我尝试回显$\u POST['file']['name'],但它没有回显任何内容 我的php文件有: var_dump($_POST); 如何在php中使用ajax发送到php的formData $document.on'change','image',函数{ var fd=新的FormData; fd.append'file',$this.propfiles[0]; cons
var_dump($_POST);
如何在php中使用ajax发送到php的formData
$document.on'change','image',函数{
var fd=新的FormData;
fd.append'file',$this.propfiles[0];
console.logfd;
$.ajax{
键入:“post”,
processData:false,
contentType:false,
url:“./images.php”,
数据:fd,
成功:功能{
console.loga;
}
};
};
图像{显示:无}
您必须使用超级全局$\u文件而不是$\u POST try: 输出如下内容:
array (size=1) 'file' =>
array (size=5)
'name' => string '49e9c80947764261bbd9d46a8063c3d1.jpg' (length=36)
'type' => string 'image/jpeg' (length=10)
'tmp_name' => string 'C:\xampp\tmp\php64A9.tmp' (length=24)
'error' => int 0
'size' => int 3090
这对我有用
<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">
<form id="imageUpload">
<label for="image"><i class="fa fa-camera" aria-hidden="true"></i></label><input type="file" name="file" id="image">
</form>
<script type="text/javascript">
$(document).on('change','#image',function(){
var fd = new FormData($("#imageUpload")[0]);
fd.append('file',$(this)[0].files[0]);
console.log(fd);
$.ajax({
type: 'post',
processData: false,
contentType: false,
url: 'testimage.php',//change to yours
data: fd,
success: function(a){
console.log(a);
}
});
});
</script>
然后我的php
<?php
var_dump($_FILES);
结果:
你的表格在哪里?我在某个地方读到我不需要表格。你的意思是$\u文件不是$\u帖子$\u文件['file']['tmp\u name']$\u文件['file']['name']也试过了,得到了同样的结果:/@StupidKid我用了你的代码,检查了一下,它成功了。如何检查$\u POST或$\u文件是否为空?请使用开发工具的选项卡来确保。这可能是我的错误,但我使用了var\u dump,如果ajax成功,它会在console.log中返回NULL,或者当我尝试在ajax成功中回显某个内容并将其作为文本返回时,它会返回空。哦,我没有想到这一点,嗯,我接受了你的答案,虽然我试过了,但没有成功,现在成功了:D
<?php
var_dump($_FILES);