2013-06-26 5 views
0

내가 파일을 업로드하려고 해요 작동 할 수 없습니다,하지만 아무것도 얻을 수 없다 ... 여기 내 HTML입니다 :JQuery와 업로드 파일 아약스 : 그것은

<form id=\"captimg\" enctype=\"multipart/form-data\" action=\"captureimg\"> 
          <input type=\"text\" name=\"form_titre_photo_capture_mobile\" placeholder=\"Titre\" class=\"texte_texte_photo_capture_mobile\" id=\"form_titre_photo_capture_mobile\"> 
          <input type=\"file\" capture=\"camera\" accept=\"image/*\" id=\"takePictureField\" name=\"takePictureField\"> 
          </form> 
<div class=\"loader\" id=\"spinner_m\"> 
           <span></span> 
           <span></span> 
           <span></span> 
          </div> 
          <button id=\"FormSubmitPhotoCaptureMobile\" class=\"submit_button\">Envoyer</button> 

그리고 내 JQuery와 아약스 :

$("#FormSubmitPhotoCaptureMobile").click(function (e) { 

     e.preventDefault(); 

     if($("#form_titre_photo_capture_mobile").val()==="") 
     { 
      alert("Veuillez saisir un titre"); 
      return false; 
     } 
     $('#FormSubmitPhotoCaptureMobile').hide(); 
     $('#spinner_m').show(); 
      var form_data = new FormData($("#captimg"));     
      form_data.append("file", takePictureField.files[0]);    
      form_data.append("titre", $("#form_titre_photo_capture_mobile").val()); 

     jQuery.ajax({ 
      type: "POST", 
      cache: false, 
        contentType: false, 
        processData: false, 
      url: "captureimg", 
      data:form_data, 
      success:function(response){ 
      $('#bar').val(100); 
      $("#responds").before(response); 
      $("#form_titre_photo_capture_mobile").val(''); 
         $('#spinner_m').hide(); 
         $('#FormSubmitPhotoCaptureMobile').show(); 
      } 
     }); 
    }); 

많은 코드를 발견했으며 아무 것도 작동하지 않습니다.이 문제는 무엇이 잘못 되었나요? 감사합니다.

+0

콘솔에 오류가 표시됩니까? – Mansfield

+0

아니, 아무것도 ... 그리고 난 파일에 대한 print_r ($ _ POST)의 텍스트 필드를 얻을 수 있지만 ... – Recif

답변

0

방금 ​​HTML의 슬래시를 모두 삭제하고 ajax url을 captureimg.php으로 변경했습니다. 은 서버 측에 나는 $_FILES을 덤프이받은 해요 :

모든 크롬에서 잘 작동

Array 
(
[file] => Array 
    (
     [name] => apache_pb2.png 
     [type] => image/png 
     [tmp_name] => home/tmp/phpA772.tmp 
     [error] => 0 
     [size] => 1463 
    ) 

을). 하지만 파이어 폭스에서이 오류가 발생합니다 TypeError: Value does not implement interface HTMLFormElement. var form_data = new FormData($("#captimg"));

+0

젠장 ... 나는 모든 브라우저에서 작동하도록해야 :-( – Recif

+0

나는 노력하고있어. 캔버스 형식으로 그림을 가져온 다음 텍스트를 업로드 한 다음 그림으로 변환합니다. 그러나 잠시 동안은 그것을 얻을 수 없습니다 :-( – Recif

+0

일부 브라우저는 아니지만 FormData가 지원되는 곳을 읽었습니다. 왜 일부 플러그인을 사용하려고하지 않습니까? jquery? –