2014-12-03 2 views
0

jQuery ajax를 사용하여 PHP 컨트롤러에 AJAX 요청을하고 있지만 PHP로 게시 된 데이터를 가져 오려고 할 때 $ _POST가 비어 있습니다. 아래는 실제 함수입니다.서버 쪽에서 AJAX 게시물이 비어 있습니다 (PHP)

function GetSeriesForManufacturer(manuf) { 
    selectedmanufacturer = manuf; 
    //Make an AJax Call For Getting Series Of Manufacturer 
    var series = null; 
    $.ajax({ 
     type: "POST", 
     url: url, 
     data: "{manufacturer:'" + selectedmanufacturer + "'}", 
     contentType: "application/json", //; charset=utf-8", 
     dataType: "json", 
     cache: false, 
     async: false, 
     success: function (response) { 
      //remove loading gif 
      $(".loading").hide(); 
      //Append Data 
      AppendSeries($.parseJSON(response.text), selectedmanufacturer); 
      //Custom Scrollbar Call 
      $('.MatchingSeries ul').mCustomScrollbar();       
     }, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { } 
    });       
} 

미리 감사드립니다!

+3

을 정의한다 :

data: {manufacturer: selectedmanufacturer}, 

둘째,이 라인이 필요하지 않습니다? – CD001

+0

답변을 주셔서 감사합니다. 방금 실제 URL을 "url"로 바꿨습니다. 방화범이 끌리는 콘솔에서 볼 수 있듯이 게시물이 정상적으로 처리되고 있습니다. – Panos

+4

문제는 다음과 같은 줄입니다 :'data : "{manufacturer : '"+ selectedmanufacturer + "'}",'. 문자열 또는 객체이거나 객체의 JS 표현이있는 문자열이 아닙니다. 대신'data : {manufacturer : selectedmanufacturer} '를 시도하십시오. –

답변

1

먼저 데이터를 캐릭터 라인 화 할 필요가 없습니다. 그냥 개체 리터럴을 보내 괜찮습니다. `url`이

contentType: "application/json", 
+0

나는이 문제를 해결할 것이라고 확신한다. (단지 나를 때린다.) - 로컬 dev에 코드를 던져 버리고'contentType' 라인을 없애면 내 버전에서 문제가 해결된다. – CD001

+0

@Leo Deng 내가 게시하기 전에 비슷한 스레드에서 제안 된대로 contentType : "application/json"을 제거하려고했지만 아무것도 변경되지 않았습니다. 그러나 이것을 데이터 수정과 결합하면 효과가있는 것으로 보입니다. 잠시 후 답변을 수락하겠습니다. 감사합니다. 그리고이 게시물에 답변 한 모든 사람들. – Panos

+0

@Panos이 트릭입니다. 데이터를 보내기 전에 객체를 문자열로 변환하려고 시도한 후 jQuery가이를 처리한다는 것을 알게되었습니다. – Leo

0

는 jQuery를 당신을 위해 인코딩을하자 :

$.ajax({ 
    type: "POST", 
    url: url, 
    data: { 
     manufacturer: selectedmanufacturer 
    }, 
    contentType: "application/json", //; charset=utf-8", 
    dataType: "json", 
    cache: false, 
    async: false, 
    success: function (response) { 
     ... 
    }, 
    error: function (XMLHttpRequest, textStatus, errorThrown) { }}); 
+0

불행히도 그것은 아무것도 변경하지 않는 것 같습니다. 어쨌든 고마워요! – Panos

관련 문제