2011-04-06 141 views
0

我已將文件輸入添加到表單,而且我似乎無法使文件通過。這裏是形式(減去所有其他字段)未通過AJAX提交的表單中的圖像

<form method="post" action="ajax_mm_order.php" enctype="multipart/form-data" id="mm_form"> 
<input id="image_file" type="file" name="photo_for_card" /> 
<input type="button" id="submit_button" value="Place Order" /> 
</form> 

的JavaScript/jQuery的是它提交:

$.ajax({ 
      type: "POST", 
      url: "ajax_mm_order.php", 
      data: $("#mm_form").serialize(), 
      success: function(msg){ 
       $(".form_style_header").fadeOut("slow"); 
       $(form_css).fadeOut("slow", function(){ 
        $(form_complete).fadeIn("slow"); 
       }); 

      } 
     }); 
當表單數據ajax_mm_order.php命中

,其他所有的數據都是剛剛收到很好,但$ _FILES是完全空的。我的ajax調用有問題嗎?

回答

5

您無法通過ajax發送文件。最可接受的方式實際上只是一個榮耀的'黑客' - 許多圖書館基本上創建一個iframe,然後將該iframe的內容發佈到您的url(因爲它只是一個iframe,並不會導致您的父頁面完全刷新)。

我想看看你想使用一個不錯的ajax文件上傳庫。我個人喜歡this圖書館。

+0

這是完全正確的。我感到驚訝的是,jquery不會自動查找表單中的文件字段,並且如果找到了IFRAME方法。 – 2011-04-06 20:28:17