PHP 看不到来自 javascript ajax FormData 的数据(输入类型文件)

Php not see data from javascript ajax FormData (input type file )

本文关键字:数据 输入 类型 文件 FormData 看不到 javascript ajax PHP      更新时间:2023-09-26

当我尝试发送带有ajax php代码的FormData对象时,看不到我的文件。数组 $_FILES 为空,也$_POST。但是在浏览器中 ajax 请求发送此文件。

<input type="file" name="fileToUpload" id="fileToUpload" value=""
<input id="uploadxml" class="upload-excel button" type="submit" value="Upload Excel File"
          name="button">

$submit.on('click', function(e) {
    e.preventDefault();
    var formData = new FormData();
    var xhr      = new XMLHttpRequest();
    formData.append('file', jQuery('#fileToUpload').prop('files')[0]);
    xhr.open('POST', 'url', true);
    xhr.send(formData);
    xhr.onreadystatechange = function() {
      if(xhr.status !== 200) {
        console.log(xhr.status + ': ' + xhr.statusText);
      } else {
        if(xhr.readyState == 4) {
          console.log(xhr.responseText);
        }
      }
    };
});

<?php
echo $_POST;
echo $_FILES['file'];
?>

PHP 看不到来自 javascript ajax 的数据 FormData (输入类型文件)解决