2014-10-31 64 views
1

我的表单中有以下代码。 我尝试使用jquery通过ajax上传文件。 表单中的其他数据字段已正确提交。但我不能将文件添加到POST请求。无法使用ajax与formdata上传文件

这里是我的html代码:

<div class="form-group"> 
     <div class="col-lg-2"> 
     <label class="lab pull-right">Image:</label> 
     </div> 
     <div class="col-lg-2"> 
     <input type="file" name="nimp" required> 
     </div> 
    </div> 

    <div class="form-group"> 
    <div class="col-lg-2"> 
     <label class="lab pull-right">Thumb Image:</label> 
     </div> 
     <div class="col-lg-2"> 
     <input type="file" name="ntimp" id="ntimp" required> 
     </div> 
    </div> 

我的JQ编号:

$(document).ready(function(e) { 
$('button.submit').click(function(e) { 

    e.preventDefault(); 
    var a=new FormData(); 

    alert(a); 

    $('.edit_form_prod_div').hide(); 
    $.ajax({ 
         type:"POST", 
        url:"ep.php", 
        data:a, 
        cahe: false, 
        processData:false, 
        contentType: false, 
        success: function(response){ 
        $('.edit_prod_response').html(response) 

        }, 
         error:function(response) 
        { alert("Error Occures"); } 
        }); 
        $('.edit_prod_response').show(); 
}); 
}); 
+0

有任何错误控制台 – 2014-10-31 12:05:34

+0

都能跟得上没有错误@ShailendraSharma – user4202353 2014-10-31 12:06:58

+0

我希望这会帮助你http://stackoverflow.com/questions/21044798/how-to-use-formdata-for-ajax-文件上传 – 2014-10-31 12:09:04

回答

0

试试这个代码

<form method="POST" enctype="multipart/form-data" id="fileUploadForm"> 
    <input type="file" name="files"/><br/><br/> 
    <input type="submit" value="Submit" id="btnSubmit"/> 
</form> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> 


<script> 

$(document).ready(function() 
{ 
    $("#btnSubmit").click(function() 
    { 
     var form = $('#fileUploadForm')[0]; 
     var data = new FormData(form); 

     $.ajax({ 
      type: "POST", 
      enctype: 'multipart/form-data', 
      url: "FileUploadHandler", 
      data: data, 
      processData: false, // Importent 
      contentType: false, // Importent 
      cache: false, 
      timeout: 600000, 
      success: function (data) 
      { alert("File Uploaded...!") 
      } 
     }); 
    }); 

</script>