Отправить значение типа входного файла с помощью ajax

Я сделал форму, которая будет отправлять файл типа ввода, на моей стороне сервера я хочу получить значение $_FILES, поэтому я использовал print_r($_FILES), но в моем ответе ajax я ничего не получаю, здесь мой код..

  <form id="my_form">
     <input type="file" id="image_file" name="image_file"/>
  </form>

  $('#my_form').submit(function() {
     var data   = $('#my_form').serialize();
     $.ajax({
        url: 'ajax.php',
        type: 'POST',
        data: data,
        enctype: 'multipart/form-data',
        success: function(response) {
            alert(response);
        }, 
    });
  return false;
});

и здесь мой php-код

<?php  
  $name = $_FILES['image_file']['name']; // get the name of the file
  $type = $_FILES['image_file']['type']; // get the type of the file
  $size = $_FILES['image_file']['size'];
  echo $name;
  //or
  print_r($_FILES);
?>

Пожалуйста, помогите мне...

спасибо..

Ответ 1

AjaxFileUpload

Возможно, этот плагин поможет вам устранить проблему.

Способ создания этого плагина аналогичен тому, как люди делали до того, как предлагаемая теория ajax, использующая тег iframe, обрабатывает весь запрос без обновления страницы.

Без HTML5 я не думаю, что мы можем использовать XMLHttpRequest для загрузки файла.