使用ajax发送输入类型文件值

时间:2013-05-23 02:19:37

标签: php jquery 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 个答案:

答案 0 :(得分:1)

AjaxFileUpload

也许这个插件可以帮助您解决问题。

这个插件的方式就像人们在ajax理论提出之前所做的那样,使用iframe标签处理所有请求而不刷新页面。

如果没有HTML5,我认为我们不能使用XMLHttpRequest上传文件。