2011-12-13 4 views
0

나는 다음과 같은 코드이 jQuery.post에서 응답을 처리 할 수 ​​없습니다()

$(function() { 
    $('.apply').click(function(e) { 
     var z = $(this).attr('z-id'); 
     var r = $(this).attr('r-id'); 
     $.post(
      "/r-set-z", 
      "z_id=" + z + "&r_id=" + r, 
      function(data) { 
       alert(data); 
      } 
     ); 
    }); 
}); 

그것은 내가 응답 데이터 아무런 경고를 볼 것을 제외하고 올바른 작동을합니다. 서버의 모든 것이 잘됩니다. 해당 버튼을 누를 때마다 모든 데이터 처리가 수행됩니다. 서버에 의해 반환 된 데이터 유형 application/javascript이며 버튼을 클릭 한 후 아무런 경고가없는 이유는 다음

{"msg": "save successful"} 

구성?

답변

0

$.post에 JSON을 application/json 같은 서버에서 응답을 반환 시도 중 하나를 지정 올바른 위치에 있는지 확인 :

$.post(
     "/r-set-z", 
     "z_id=" + z + "&r_id=" + r, 
     function(data) { 
      alert(data); 
     } 
    , 'json'); 

또는 사용 $.getJSON

$.getJSON(
     "/r-set-z", 
     "z_id=" + z + "&r_id=" + r, 
     function(data) { 
      alert(data); 
     } 
    ); 
+0

콘텐츠 유형을'application/json'으로 설정하면 문제가 해결됩니다. jquery 마법처럼'application/javascript' 콘텐츠 유형에서'json'을 추측 할 수 없습니다. 나는 그것이 여러 버전 전에 할 수 있었다는 것을 기억한다 ... – lig

0

다음 중 하나를 시도하십시오. 또한

alert(data.msg); 

콜백

+0

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

관련 문제