2015-10-13 111 views
1

我正在使用FomdData將圖像上傳到服務器。該功能工作正常,但第一次上傳後,我無法執行第二次。似乎點擊事件被阻止。 #upload-image當文檔加載時存在於頁面上,並且在成功之後不會以任何方式改變。這裏有什麼問題?jquery - Click事件停止工作後ajax和FormData

編輯

Click事件工作,但阿賈克斯第一次上傳後停止工作。

$("#product-sell-search").on("click", '#upload-image', function() { 

     var 
      url  = $(this).attr('href'), 
      fileData = $("#ocrFile").prop("files")[0], 
      formData = new FormData(); 

     if(!fileData){ 

      alert('Please Sellect File'); 
      return false; 
     } 

     formData.append('ocrFile', fileData); 
     // Added in order for server to recognize as post request 
     formData.append("post", "post"); 

     $.ajax({ 
      url: url, 
      dataType: 'script', 
      cache: false, 
      contentType: false, 
      processData: false, 
      data: formData, 
      type: 'POST', 
      success:function(data, textStatus, jqXHR){ 
       $.when($('#product-sell-search') 
         .find('input[name=ProductsSearch]') 
         .val(data.replace(/['"]+/g, ''))) 
       .then(function(){ 
        $('#product-sell-search').trigger('submit'); 
       }); 

      }, 
      error: function(jqXHR, textStatus, errorThrown){ 
       alert('There was an error. Please try again'); 
      } 
     }); 

     return false; 
    }); 
+0

嘗試禁用並重新啓用點擊處理程序,如下所示:'$(「#product-sell-search」)。off('click')。on(「click」....' – Yang

+0

仍然不會看起來click事件工作正常,並且問題出在ajax中。 – Sasha

+0

你在ajax調用成功時再次調用(提交),這可能是原因嗎? –

回答

1

爲什麼重複錯誤是有你的功能是成功的,那麼它應該返回true。

0

我設法讓腳本正常工作。我刪除了dataType:'腳本'行,我現在可以在單個頁面加載時進行多個上傳。