如何在formData.append上使用数组

时间:2018-03-14 03:47:00

标签: php ajax codeigniter

这是我的ajax代码

var formData = new FormData();
$a = array = ['1', '7'];
formData.append('kpmConfigDt1', $a);

$.ajax({
    url: '<?= base_url() ?>hr_pms/kpmConfigDtl_list1',
    data: formData,
    cache: false,
    contentType: false,
    processData: false,
    type: 'POST',
    success: function(data) {
      .........
    }
});

这是我的代码,我想使用$ a作为我的formData.append的值,但它不起作用,你能帮助我吗?感谢。

2 个答案:

答案 0 :(得分:0)

使用for循环追加

$length = count($a);
for ($i = 0; $i < $length; $i++) {
  formData.append('kpmConfigDt1', $a[$i]);
}

答案 1 :(得分:0)

你需要序列化数组:

explode(',',$array);

然后你可以在php端重新创建它

var formData = new FormData();
$('#formId').find("input, textarea, select").each(function(){

    ...

    if(Array.isArray($(this).val())){
       formData.append(
          $(this).attr('name'),
          $(this).val().toString()
       ); 
    }

    ...

});

我在一个旨在获取所有表单数据的函数中使用以下查询:

{{1}}