javascript - var dump formdata as POST 返回 NULL

标签 javascript php jquery ajax

我看到一些使用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 尝试:

var_dump($_FILES);

输出类似:

 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

关于javascript - var dump formdata as POST 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47157315/

相关文章:

javascript - 让用户使用 jquery 复制元素的源代码...

javascript - 在 react 路由器中的路由之间设置动画/转换的正确方法是什么

带有 MySQL 查询表的 PHP 函数

javascript - 制作特殊格式的js代码

javascript - 在 Bootstrap 下拉按钮中显示所选项目

javascript - 如何在点击时获取具有特定 ID 的 div 类?

javascript - 使用 Enzyme 和 Sinon 进行内部调用单元测试

javascript - 我无法让我的按钮响应某个功能

php - 当我打开它时显示一个空白网页

php - 在 Laravel 中获取具有远距离关系的枢轴值