2012-07-21 66 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>'); 
     } 
    });