2011-03-19 55 views
0

如果您要用標記爲[從這裏到此處]標記的代碼用簡約的東西代替它,會是什麼?如何使用最小的jQuery Ajax實現Django表單[問題級別 - 中級]

$('#post_form').submit(function(event){ 

      event.preventDefault(); 
      var data = {} 

      // From here 
      data.k = $('#k').val(); //'k' would be the id of some input field 
      data.j = $('#j').val(); //and so on for 'l', 'm' , 'n' etc. you get it 
      ....... 
      // Till here 

      $.post("/ajax/post_test/", 
       data, 
       function(responseData) { 
        // handle the response 
       }, 
       "json" 

      ); 
     }); 

如果這個「數據」對象可以在Django直接用作一種形式,因此能夠利用Django的內置的驗證系統,這將是真棒。

理想的答案會是這個樣子 -

data = $('#post_form').DumpData() 

如果有人感覺真的有種今天你能不能也請告訴我,我怎麼能處理的響應呢?我會非常感激。感謝你們。

P.S.拯救我的靈魂。

回答

1

您正在尋找serialize方法:

的.serialize()方法創建標準的URL編碼符號的文本字符串。它在代表一組表單元素的jQuery對象上運行。

所以它不會給你一個對象,但它可以作爲jQuery AJAX調用的數據參數。

如果你真的希望他們作爲一個對象,有serializeArray,這不完全在那裏,因爲它是一個具有名稱和值的對象數組,但你可以把它變成一個一級對象。

+0

啊,我再次愛上了jQuery。 :]。謝謝哥們。 – Sussagittikasusa 2011-03-19 07:36:07

+0

關於通過django視圖返回ajax驗證有什麼想法? – Sussagittikasusa 2011-03-19 07:40:26