Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关于使用Codeigniter或其他可能的解决方案处理多维阵列的建议?_Javascript_Php_Jquery_Ajax_Codeigniter - Fatal编程技术网

Javascript 关于使用Codeigniter或其他可能的解决方案处理多维阵列的建议?

Javascript 关于使用Codeigniter或其他可能的解决方案处理多维阵列的建议?,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我有一个用户列表和复选框,我需要得到每个复选框的id:选中,以及主题字段和消息字段,并传递给我的控制器。我能想到的唯一方法是抓取每个id并复制主题和消息字段,然后将多维数组传递给我的控制器。我的数组如下所示: [{id: "46", subject: "sample subject1", message: "test message1"}{id: "46", subject: "sample subject

我有一个用户列表和复选框,我需要得到每个复选框的id:选中,以及主题字段和消息字段,并传递给我的控制器。我能想到的唯一方法是抓取每个id并复制主题和消息字段,然后将多维数组传递给我的控制器。我的数组如下所示:

[{id: "46", subject: "sample subject1", message: "test message1"}{id: "46", subject: "sample subject1", message: "test message1"}]
这似乎真的是多余的,因为我只需要用户ID列表和数组中消息和主题字段的1个副本,但不确定是否有更好的方法来完成这项工作。是否可以通过ajax将两个不同的阵列发送到我的codeigniter控制器?如果是,我如何在控制器中访问它们

下面是我收集ID和创建数组的代码示例。如果这是最好的方法,我仍然不确定如何处理控制器中的多维数组。通常我会使用$this->input->post('key')访问数组内容,但这不起作用:我想我需要首先在控制器中循环遍历数组,但不确定如何操作

这是我的密码:

$(document).on('click', '.send_btn', function(e) { 

//get ids of selected users
var subject = 'test subject';
var message = 'test message';
var data = [];

$(':checkbox[name="people_checked[]"]:checked').each (function () {
  data.push({
    id: this.id,
    subject: subject,
    message: message
  })
  
});

  $.ajax({
      url: "/message/send_message",
      method: "POST",
      success: function (data) {
        console.log('Success');
        
     }
 }) 
}))


非常感谢您提供的任何帮助建议。

如果您想干燥数组,请将其转换为根目录中包含
主题
消息
属性的对象。然后可以将
ids
属性作为数组提供。它看起来像这样:

[{id: "46", subject: "sample subject1", message: "test message1"}{id: "46", subject: "sample subject1", message: "test message1"}]
$(文档)。在('单击','上。发送功能(e){
风险值数据={
主题:'测试主题',
消息:“测试消息”,
id:$(':checkbox[name=“people\u checked[]”:checked').map((i,el)=>el.id).get()
};
$.ajax({
url:“/message/send_message”,
方法:“张贴”,
data:data,//注意这是添加的,您没有发送原始的正文
成功:功能(数据){
console.log('Success');
}
})
});
产出将是:

{
  subject: 'test subject',
  message: 'test message',
  ids: [ 123, 987 ]
}
显然,您需要修改
/message/send_message
端点以使用该格式的请求主体