使用jquery ajax上传文件,并在$ _FILES中获取结果

时间:2014-05-27 09:26:03

标签: php jquery ajax

如何使用上传文件,我试过这个,但它不起作用,也没有在结果页面上给我$ _POST的结果。

$.ajax({
                type:'post',
                url:'../investor/archive2.php',
                enctype: 'multipart/form-data',
                tmp_dir:'tmp',
                //dataType: 'json',
                processData: false, // Don't process the files
                //contentType: false,
                 cache: false,
                data:'action='+action+'&title='+title+'&datetime='+datetime+'&name='+docfile,
                success:function(result){
                    alert(result);
                }
            });

2 个答案:

答案 0 :(得分:7)

如果您使用的是AJAX,则必须使用表单数据。

var data = new FormData()
data.append( 'photo', $('#photo')[0].files[0] ); //photo is the name and id of the <input type="file">
data.append( 'action', action);
data.append( 'title', title);    
.
.
$.ajax({
   type: "POST",                
   url: "../investor/archive2.php",
   processData: false,
   contentType: false,
   cache:false,
   data: data,
   success: function(data){
        alert(data);
    }
});

答案 1 :(得分:1)

您可以使用jQuery表单插件通过Ajax处理文件上传,如果您通过Ajax使用该插件提交表单,则可以在$ _FILES下的操作中获得文件数据。

插件链接:http://malsup.com/jquery/form/

示例代码:

$('#form_id').ajaxForm(function(data, status, jqXHR) {
  console.log(data);
});