2015-02-03 2 views
0

AJAX를 처음 사용합니다. AJAX를 사용하여 양식 데이터를 종점에 제출합니다. 끝점에서 일부 응답 데이터가있는 json 문자열을 반환하고 있습니다. 나는 많은 것을 시도했지만, JSON을 읽을 수 없었다.AJAX에서 JSON을 반환합니다.

JSON을 구문 분석 할 수 있습니다. 이 시점에서 종점에서 반환 된 JSON을 읽는 방법을 알고 싶습니다.

내 코드는 게시물을 마지막으로 처리합니다. 당신은 여기에 오류가

$('.ent-lead-form form').on('submit', function(e){ 
     e.preventDefault(); 
     var form = this; 

     if($(this).find('.err').length == 0){ 
      $(this).parent().prepend('<div class="form-mask"></div>'); 

      $.ajax({ 
       url: $(this).attr('action'), 
       type: 'POST', 
       data: $(this).serialize(), 
       success: function(data){ 

        var data = JSON.parse(json); 
        alert(data); 

        // redirect to success or show thank you 
        if($(form).find('input[name=successurl]').length == 1){ 
         window.location = $(form).find('input[name=successurl]').val(); 
        } else { 
         $(form).parent().prepend('<div class="confirm-mask">Thank you for your submission.</div>'); 
        } 

        // cleanup 
        $('.form-mask').remove(); 

       }, 
       error: function(data){ 
        // show error 
        $(form).parent().prepend('<div class="confirm-mask">There was an error processing your request. Please reload the page and try again.</div>'); 
        $('.form-mask').remove(); 

       } 
      }); 


     } 
}); 
+0

JSON 응답의 구조는 무엇입니까? 그걸로 뭘하고 싶니? – Barmar

+0

'JSON.parse (json)'을 호출하고 있지만'json' 변수는 없습니다. 'function (json)'을 사용하셨습니까? – Barmar

+0

'dataType : 'json''을 사용할 수 있으며'$ .ajax'는 JSON을 자동으로 파싱합니다. – Barmar

답변

3

..

success: function(data){ 

        var data = JSON.parse(json); 
        alert(data); 

변경이

success: function(jsondata){ 

        var data = JSON.parse(jsondata); 
        console.log(data); 

에 대한 귀하의 "데이터"객체가 될 것입니다. 이에 코멘트를 추가하려면 TEH 점 표기법

data.value 

wuith 당신의 가치를 얻을 수 있습니다 : .done()

중단 공지를 사용하여 시작하는 것이 좋습니다 다음 jqXHR.success(), jqXHR을. error() 및 jqXHR.complete() 콜백은 jQuery 1.8부터 사용되지 않습니다. 코드를 제거하기 위해 코드를 준비하려면 jqXHR.done(), jqXHR.fail(), 및 jqXHR.always()를 대신 사용하십시오.

http://api.jquery.com/jquery.ajax/

관련 문제