2014-10-10 5 views
0

AJAX에서이 양식을 "POST"로 만들려고합니다. 그러나 서버를 사용할 때 사용자가 아무 것도받지 못하면 제안을로드하지 않습니까? jQuery를 설정할 수 있도록 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

내가 문제가 false로의 contentType을 설정하는 콘텐츠 형식을하려고 생각 형태입니다 그것을

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

      } 
     }); 
}); 

이 ... 나를 위해 잘 작동 질문에 대한 코멘트 ...

관련 문제