2012-07-21 107 views
0

我仍然是cakephp的新手,我試圖獲取FormHelper的值並通過jquery中的$ .ajax()調用傳遞它。但是,通過cakephp約定,FormHelper生成的每個字段的名稱格式爲data[Model][field]。現在,我想以cakephp數組格式提交$ _POST數據。但是,我找不到這樣做的方法,因爲我無法找到將名稱和值屬性轉換爲可傳遞數組格式的方法。如何通過jquery將cakephp formhelper輸入值傳遞給ajax?

我試圖把所有東西都變成字符串並嘗試創建一個json數組。但是,我沒有這樣做,而且這種方法對我來說也不太令人信服。

function submitEdit(sendurl, formid){ 
    var dataset = []; 
    $('form#'+ formid + ' > input,select').each(function(){ 
    dataset.push($(this).attr('name') + ':' + $(this).val()); 
    }); 

    alert(dataset); 
    $.ajax({ 
     type: 'POST', 
     data: '{' + dataset + ']', 
     url: sendurl, 
     success: function(content){ 
      $('.setting-preview.username').append('<pre>' + content + '</pre>'); 
     } 
    }); 
} 

因此,如何通過這作爲data[Model][field]陣列到sendurl控制器?

回答

1

喜歡的東西

$.ajax({ 
     type: 'POST', 
     data: { 
      Model: { 
       foo: $('#ModelFoo').val(), 
       bar: $('#ModelBar').val() 
      } 
     }, 
     url: sendurl, 
     success: function(content){ 
      $('.setting-preview.username').append('<pre>' + content + '</pre>'); 
     } 
    });