2016-08-11 3 views
5

게시 된 매개 변수를 보내려고합니다. request.php으로 변경하지만 게시 된 매개 변수를 반환합니다. 비어 있습니다.JavaScript jQuery AJAX POST 데이터 오류

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
$.ajax({ 
    url: "request.php", 
    type: "POST", 
    data: "{key:'123', action:'getorders'}", 
    contentType: "multipart/form-data", 
    complete: alert("complete"), 
    success: function(data) { 
     alert(data); 
    }, 
    error: alert("error") 
}); 
+0

시도 데이터가 필요 : { '키를': '123', '행동': 'getorders'} – Vishnu

+0

제거를' " "이 데이터 형식에서 데이터 :"{키 : '123', 동작 : 'getorders'} '' –

+0

@DavidJawphan – PaulE

답변

3

당신은 multipart/form-data에 대한 FormData을 사용해야하며, 또한 아약스에서 추가 옵션 ...

var request = new FormData(); 
request.append('key',123); 
request.append('action','getorders'); 
$.ajax({ 
    url: "request.php", 
    type: "POST", 
    data: request,  
    processData : false, 
    contentType: false, 
    success: function(data) { 
     alert(data); 
    }  
}); 
+0

내 Herooo .. 감사합니다! – PaulE

1

이것은 도움이 될 것입니다. 문자열을 원하지 않으면 키 값 쌍의 JS 맵이 실제로 필요합니다. data:{key:'123', action:'getorders'}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <script> 
    $.ajax({ 
     url:"request.php", 
     type:"POST", 
     data:{key:'123', action:'getorders'}, 
     contentType:"multipart/form-data", 
     complete:alert("complete"), 
     success:function(data) { 
      alert(data); 
      }, 
     error:alert("error") 
      }); 

      </script> 
+0

동일한 prob 내 친구 .. 않았다 일하지 마! – PaulE

+0

동일한 오류가 발생합니까? – Sinscary

4

제거는 ""이 아래로, 챔피언처럼 구조 개체를 작동해야하고 stringifyJSON.stringify(newObject)으로 다음 오류의 기회가 없을 것

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <script> 
     var newObject= new Object(); 
     newObject.key= '123'; 
     newObject.action='getorders' 
     $.ajax({ 
      url:"request.php", 
      type:"POST", 
      data:JSON.stringify(newObject), 
      contentType:"multipart/form-data", 
      complete:alert("complete"), 
      success:function(data) { 
       alert(data); 
      }, 
      error:function(){ 
       alert("error"); 
      }); 

    </script> 
+0

이것은 작동하지 않습니다! –

+0

그래 전혀 작동하지 않았다 :) – PaulE

+0

당신은 그때 그것이 작동 해야하는 false contentType을 할 수있다 –

0

로이 데이터에서

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
<script> 
    $.ajax({ 
     url:"request.php", 
     type:"POST", 
     data:{key:'123', action:'getorders'}, 
     contentType:"multipart/form-data", 
     complete:alert("complete"), 
     success:function(data) { 
      alert(data); 
     }, 
     error:function(){ 
      alert("error"); 
     }); 

</script> 
+1

여전히 키가 비어있다 – PaulE

+0

@PaulE을 시도한 것을 가지고 있니? –

0

시험해보기 :

data: JSON.stringify({key: '123', action: 'getorders'}), 
contentType: "application/json" 
+0

시도했는데 ... 아무것도 반환하지 않는다. 심지어 " 키가 비어 있습니다. " – PaulE

+0

URL을 확인하십시오. 수신 된 오류도 공유하십시오. –

+0

$ .ajax ({ url : "request.php", 유형 : "POST", 데이터 : '{ "키": "123", "액션": "getorders"}', contentType : "application/JSON " 완성 : 경고 ("완료 "), 성공 : 기능 (데이터) { 경고 (데이터) }, 오류 : 기능 (jqXHR, textStatus, errorThrown) { 을 console.log (textStatus, errorThrown); } }); 참고 사항 : JSON에서 - 문자열 (키 이름 및 문자열 값 등)은 작은 따옴표가 아닌 큰 따옴표 ("")로 표시됩니다. –