title: $_POST and $_FILES empty after AJAX file upload
body: <p>I am new to web development, and the latest problem I have been having is ajax file uploading...</p>
  <p>Right now I have two HTML input fields; a file input and a button.</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;input type="file" name="Frame" id="Frame_"/&gt;
  &lt;input type="button" name="FrameButton" id="FrameButton_" value="UPLOAD"/&gt;</code></pre>
  </div>
  </div>
  </p>
  <p>After the button is clicked I then call a function that has the following code..</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>var frame = document.getElementById('Frame_');
  var frameImg = frame.files[0];
  var form_data = new FormData();
  
  form_data.append('frame', frameImg);
  
  jQuery.ajax({
      url : './handler.php',
      type : 'post',
      data  :  form_data
      contentType : false,
      processData : false,
      success : alert("Frame Uploaded")
  });</code></pre>
  </div>
  </div>
  </p>
  <p>When I var_dump() the $_POST and $_FILES array it shows both arrays as empty. This is despite the &quot;Request Payload&quot; in Chrome Dev reading</p>
  <blockquote>
  <p>Content-Disposition: form-data; name=&quot;frame&quot;; filename=&quot;GoldFrame.jpg&quot;</p>
  <p>Content-Type: image/jpeg</p>
  </blockquote>
  <p>In which I am under the impression that this means the information of the file that I select on the front end is being successfully &quot;post&quot;ed to my handler.php file. Is this a wrong interpretation?</p>
  <p>Either way, could someone please give me an answer to my problem? Or atleast point to a resource that might have my answer? There seem to be many similar questions along the same lines, but I haven't seen one that has a solid answer.</p>
  <p>I have used iframes for this kind of thing in the past, but that seems like a really hacky method, and I would like to have the flexibility to use ajax for this kind of task in the future.</p>
  <p>Help is appreciated.</p>