如何通过jquery将cakephp formhelper输入值传递给ajax?

时间:2012-07-21 12:24:38

标签: javascript jquery ajax cakephp

我仍然是cakephp的新手,我的尝试是检索FormHelper的值并通过jquery中的$ .ajax()调用传递它。但是,通过cakephp约定,FormHelper生成的每个字段的名称将采用data[Model][field]的格式。现在,我想以cakephp数组格式提交$ _POST数据。但是,我找不到这样做的方法,因为我找不到将name和value属性转换为可通过的数组格式的方法。

我的尝试是将所有内容都变成字符串并尝试创建一个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 个答案:

答案 0 :(得分:1)

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