2012-08-02 2 views
0

이 코드를 사용하여 JSON 데이터를 serialize합니다.json 데이터를 직렬화하고 전달하려면 어떻게해야합니까?

<div> 
      <!-- cut out HTML for brevity --> 
      <div class="divwidth"> 
       <input type="button" onclick="javascript:postBackPart($(this).parent().parent().attr('id'));" value="Test Me" /> 
      </div> 
    </div> 

<script type="text/javascript"> 
    function postBackPart(div_id) { 
     $.ajax({ 
      url: '/Parts/Edit2', 
      type: 'POST', 
      data: $('#' + div_id).serialize(), 
      success: function (result) { 
      } 
     }); 

     return false; 
    } 
</script> 

이제 내가 본 다른 게시물과 사이트 사용 중 toJSON는 stringfy, 또는 직렬화. 어느 것을 사용해야합니까? 어떤 시나리오를 다른 시나리오에서 사용해야합니까?

참고 : ASP.NET MVC 3을 사용하고 있으며이 코드는 MVC 3 앱에서 가져 왔습니다.

+1

jQuery를 사용하고 있기 때문에 jQuery.onclick 함수를 사용하고 onclick 특성을 더 잘 사용해야합니다. 또한 어떤 종류의 데이터가 그 HTML div에 있습니까? 어떤 형태인가요? – Onheiron

+0

그것은 형태입니다. 양식 자체에는 5 개의 텍스트 상자가 있습니다. – dotnetN00b

답변

1

.serialize()은 json serialization이 아니라 URL 매개 변수 serialization을 만듭니다. http://api.jquery.com/serialize/

toJSON을 사용하는 경우 해당 개체에 정의해야합니다. 따라서 기본 JavaScript 객체가이를 지원합니다. 그러나 반드시 자신의 것은 아닙니다.

가장 좋은 방법은 JSON.stringify(value[, replacer [, space]])입니다. toJSON을 호출하면 객체에서 json 표현의 모양을 결정할 수 있습니다.

또한 serialize 할 특성과 선택적 replace 함수를 지정하여보다 높은 사용자 지정을 허용합니다.

관련 문제