2013-06-26 113 views
0

我想上傳一個文件,但不能得到任何東西...這裏是我的html:jquery的上傳文件的ajax:不能使它工作

<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的ajax:

$("#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網址爲captureimg.php。 在服務器端,我甩$_FILES並獲得這樣的:

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

所有工作正常,在Chrome中。但在Firefox中我得到這個錯誤TypeError: Value does not implement interface HTMLFormElement. var form_data = new FormData($("#captimg"));

+0

該死......我必須讓它在所有瀏覽器上都能正常工作:-( – Recif

+0

我在試以畫布格式獲取圖片,然後上傳文本然後將其轉換爲圖片但暫時無法獲取:-( – Recif

+0

我在哪裏讀了什麼FormData支持而不是所有的瀏覽器。爲什麼你不嘗試使用一些插件jQuery的? –