如何通过jquery将cakehp-formhelper输入值传递给ajax

How to pass cakephp formhelper input values to ajax via jquery?

本文关键字:值传 ajax 输入 cakehp-formhelper 何通过 jquery      更新时间:2023-12-31

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

我的尝试是将所有内容都转换为字符串,并尝试创建一个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控制器?

类似的东西

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