Ajax表单向PHP发送空数据

时间:2019-06-11 12:32:23

标签: php jquery html ajax forms

我正在尝试使用AJAX将表单数据发送到PHP,但是在PHP页面上转储数据时,它返回的是空值。

实际上,我需要一个程序,在该程序中可以上传图像,而不是弹出图像,然后将裁剪后的图像保存在数据库中。

我的代码如下:

$('#fileinput').on('change', function() {
  var formD = new FormData();
  var file = $('#fileinput')[0].files[0];
  // var nfile = file.serializeArray();
  // console.log(file);
  formD.append('file', file);
  formD.append("clientID", 2993);
  console.log(formD);

  $.ajax({
    url: 'croped.php',
    type: 'POST',
    data: {
      'ff': formD
    },
    processData: false,
    contentType: true,
    // dataType: 'json',
    success: function(data) {
      console.log(data);
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" method="POST" enctype="multipart/form-data">
  <input type="file" name="image" id="fileinput" />
  <input type="submit" name="upld" id="upldbtn" />
</form>

croped.php

<?php
var_dump($_POST);
echo "ll";
?>

请让我知道我缺少什么或做错什么。

1 个答案:

答案 0 :(得分:0)

  <form action = "" method = "POST" enctype = "multipart/form-data" 
        id="formdata">
        <input type = "file" name = "image" id="fileinput" />
        <input type = "submit" name="upld" id="upldbtn" />
   </form>

$("#formdata").submit(function(e) {

    e.preventDefault();    
    var formData = new FormData(this);

    $.ajax({
    url: window.location.pathname,
    type: 'POST',
    data: formData,
    success: function (data) {
        alert(data)
    },
    cache: false,
    contentType: false,
    processData: false
});
});