Php 无法使用AJAX将数组数据从视图传递到控制器

Php 无法使用AJAX将数组数据从视图传递到控制器,php,jquery,arrays,codeigniter,Php,Jquery,Arrays,Codeigniter,在CodeIgniter(PHP)中使用AJAX时,数据(数组的数组)没有从视图传递到控制器 url在$.ajax中工作。它正在重定向到控制器中的方法 public function save() { $relatives_list = $this->input->post('data'); echo 'as'; echo $relatives_list; // the list is not shown here $this->

在CodeIgniter(PHP)中使用AJAX时,数据(数组的数组)没有从视图传递到控制器

url在$.ajax中工作。它正在重定向到控制器中的方法

public function save() {

    $relatives_list = $this->input->post('data'); 
    echo 'as';

    echo $relatives_list; 
    // the list is not shown here

    $this->load->model('Batch');
    $status = $this->Batch->save($relatives_list);

    $this->output->set_content_type('application/json');
    echo json_encode(array('status' => $status)); 
}
view.php(视图)

Welcome.php(控制器)

Batch.php(模型)

公共函数保存($relative_list){
$length=计数($relative_list);
对于($x=0;$x$relative_list[$x]['no'],
“firstname”=>$relative_list[$x]['firstname'],
“中间”=>$relative_list[$x]['middle'],
'last'=>$relative_list[$x]['last'],
);
}
试一试{
对于($x=0;$xdb->insert('hhh',$data[$x]);
}
回归"成功",;
}捕获(例外$e){
返回“失败”;
}
}
错误:

参数必须是实现可计数的数组或对象


根据您的脚本,它不是
data
而是
data\u table

var data = {'data_table':table_data};
因此:

如果这不起作用,请发布您的
数据的
控制台.log


请注意:在完成故障排除后,您必须在
json_encode
之前删除
echos,否则jquery将无法解析响应。

您在Batch.php第一个循环中覆盖
$data
——我想您的意思是
$data[]=array(…
谢谢!但是数据没有从视图传递到控制器。在echo'as'下面的welcome.php中有echo$relations\u列表。数据没有显示在控制台中。感谢您的输入,现在来自ajax的数组正在从视图传递到控制器。我现在收到一个模型错误。严重性:警告

消息:count():参数必须是实现可计数的数组或对象

文件名:models/Batch.php

行号:6

var_转储的结果是什么?var_转储正在工作!现在控制器中的echo$relations_列表正在工作。但是数据现在正在移动到模型中。“参数必须是实现可计数的数组或对象”是错误。*数据未移动到模型
 public function save($relative_list){
$length = count($relative_list);

    for($x = 0; $x < count($relative_list); $x++){
        $data[] = array(
            'no' => $relative_list[$x]['no'],
            'firstname' => $relative_list[$x]['firstname'],
            'middle' => $relative_list[$x]['middle'],
            'last' => $relative_list[$x]['last'],

        );
    }
    try {


        for($x = 0; $x<count($relative_list); $x++){
            $this->db->insert('hhh',$data[$x]);
        }
        return 'success';
    }catch(Exception $e) {
         return 'failed';
    }

}
var data = {'data_table':table_data};
var_dump($this->input->post('data_table')