2014-10-10 130 views
0

我嘗試在AJAX中使這種形式爲「POST」,但我不加載用戶,當我在服務器上得到任何東西時,沒有任何建議?FormData不能與AJAX一起工作

這是形式

<form method="POST" action="/ajaxpost"> 
    <input type="text" name="user"/> 
    <input type="submit" value="SEND"/> 
</form> 



//here trying to do the same form but ajax, I have this button that calls the function "sendAjax()" 

<input type="submit" value="SEND"/> 


//The function this does not work. fail data to the server 

function sendAjax(){ 
     // HTML5 form data object. 
     var fd = new FormData(); 

     fd.append("user", 'JOAN FREDO USERNAME'); 

     $.ajax({ 
      url: '/ajaxpost', 
      data: fd, 
      contentType: 'application/x-www-form-urlencoded', 
      processData: false, 
      type: 'POST', 
      success: function(data){ 
       alert(data); 
      } 
     }); 
    } 

回答

0

我認爲這個問題是內容類型,嘗試將contentType設置爲false,讓jQuery將其設置

function sendAjax() { 
    // HTML5 form data object. 
    var fd = new FormData(); 

    fd.append("user", 'JOAN FREDO USERNAME'); 
    fd.append("user2", 'asd'); 

    $.ajax({ 
     url: '/ajaxpost', 
     data: fd, 
     processData: false, 
     contentType: false, 
     type: 'POST', 
     success: function (data) { 
      alert(data); 
     } 
    }); 
} 

演示:Fiddle - 你可以看到使用瀏覽器開發工具的網絡標籤發送的數據

0

首先添加一個ID的提交按鈕

然後,

$('body').on('click','#submit',function(){ 

     // var user  = 'JOAN FREDO USERNAME'; 

     var form_data = new FormData(); 

     form_data.append("user", 'JOAN FREDO USERNAME'); 
     //form_data.append('user',user); 



     $.ajax({ 
       url   : 'someURL.php', //mention valid url 
       dataType : 'text', 
       cache  : false, 
       contentType : false, 
       processData : false, 
       data  : form_data,     
       type  : 'post', 
       success  : function(data){ 
          alert(data);     

      } 
     }); 
}); 

工作正常,我...任何問題 評論...