2012-08-02 50 views
0

我有這段代碼來序列化我的JSON數據。我應該用什麼來序列化並傳遞我的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 2012-08-02 15:00:45

+0

這是一種形式。表單本身有5個文本框。 – dotnetN00b 2012-08-02 15:14:16

回答

1

.serialize()不會創建json序列化,而是一個url參數序列化。請參見http://api.jquery.com/serialize/

如果使用toJSON,則必須在該對象上定義它。所以原生的JavaScript對象將支持這一點。但你自己並不一定。

我想最好的方法是使用JSON.stringify(value[, replacer [, space]])。它調用toJSON任何地方都可用,讓對象決定它的json表示應該如何。

它還允許通過指定要序列化的屬性和可選的替換函數來實現更高的自定義。

相關問題