2009-10-07 3 views
0

jQuery 및 해당 양식 플러그인을 사용하여 HTTP 게시 작업에서 반환 한 데이터에 액세스하는 방법을 이해하는 데 어려움이 있습니다.jQuery 및 양식 플러그인을 사용하여 양식 데이터 POST에 대한 JSON 응답을 참조하십시오.

예를 들어 브라우저에서 양식으로 데이터를 POST하고 서버에서 데이터를 처리 한 다음 JSON에서 서버 응답을 브라우저에 반환하고 해당 응답에 대한 정보를 경고 - 양식을 다시 작성하지 않아도됩니다.

$(document).ready(function() { 
    $('#ajaxFormSubmit').bind('click', function(event) { 
     $('#data_entry_form').ajaxSubmit({ 
      url: "data_entry_ajax", 
      dataType: "json", 
      success: function(data) { 
       alert('Success'); 
       alert(data.save_status); 
      } 
     }); 
    }); 
}); 

서버는 JSON 객체에서 다음을 반환합니다 :

나는 다음과 같은 jQuery 코드이 할 것이라고 생각

{'save_status': 'OK', 'id_number': 2} 

그러나 대신을 형식과 사용자 -를 통해 두 개의 경고를 표시 브라우저가 양식을 지우고 JSON 응답을 표시합니다.

나는 ajaxSubmit에 제출 된 옵션에서 "성공"값이 자동으로 서버에서받은 응답을 통과했다고 생각했습니다. 함수 본체에 인수를 전달하는 다양한 순열을 시도했습니다 (아무 것도 전달하지 않고 responseText을 참조하면 data을 전달하지 않고 참조). 그러나이 중 하나도 작동하지 않습니다.

"jQuery In Action"에서 xhr 개체 및 .ajax() 함수에 대한 응답에 액세스하는 것을 이해하려고했지만 그 중 하나는 도움이되지 않았습니다.

답변

2

시도 jQuery $.post()

<script> 
// ... 
$('#ajaxFormSubmit').bind('click', function(event) { 
    $.post(
    'data_entry_ajax', 
    $('#data_entry_form').serialize(), 
    function(data) { 
     alert('Success'); 
     alert(data.save_status); 
    }, 
    'json' 
); 
}); 
</script> 
+0

는 사실이 여전히 브라우저 문서를 쓸어하고 JSON 요청을 표시하고 사용. 어쩌면 내 HTML에 문제가있을 수 있습니다. – chernevik

관련 문제