2011-04-06 14 views
0

파일 입력을 양식에 추가했는데 파일을 가져올 수 없습니다. 여기 형태이다 (마이너스 다른 모든 분야)이미지가 아약스를 통해 제출되지 않았습니다.

<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> 

그것을 제출 자바 스크립트/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는 완전히 비어 있습니다. 아약스 전화에 문제가 있습니까?

답변

5

아약스를 통해 파일을 보낼 수 없습니다. 가장 많이 받아 들여지는 방법은 실제로 단지 '해킹'입니다. 많은 라이브러리는 기본적으로 iframe을 만든 다음 해당 iframe의 내용을 url에 게시합니다 (iframe 만 있으므로 부모 페이지가 완전히 새로 고침되지는 않습니다).

나는 당신이 사용하기 좋은 아약스 파일 업로드 라이브러리를 찾는다. 나는 개인적으로 this 도서관을 좋아한다.

+0

정확하게 맞습니다. 나는 jquery가 자동으로 폼의 파일 필드를 찾지 않고 IFRAME 메소드가 발견되면 그것을 수행한다는 것에 놀랐다. –

관련 문제