Jquery 在datatables codeigniter中使用json显示数据

Jquery 在datatables codeigniter中使用json显示数据,jquery,json,codeigniter,datatables,Jquery,Json,Codeigniter,Datatables,我想在datatables中使用json数据格式显示我的数据,但表中没有任何数据。有人能帮我通过JSON在datatable中显示数据吗 这是我的控制器: public function data_courses(){ $result=$this->Users_model->get_active_courses(); echo json_encode($result); } public function courses_list(){ $this->a

我想在datatables中使用json数据格式显示我的数据,但表中没有任何数据。有人能帮我通过JSON在datatable中显示数据吗

这是我的控制器:

public function data_courses(){
    $result=$this->Users_model->get_active_courses();
    echo json_encode($result);
}
public function courses_list(){
    $this->authentication();
    $this->load->view('courses');
}
我的看法是:

<table class="table table-striped table-hover table-bordered" id="allcourses">
    <thead>
        <tr role="row">
            <th>
                Course Name
            </th>
            <th>
                Indian Price
            </th>
            <th>
                U S Price
            </th>
            <th>
                Course Duration
            </th>
            <th>
                Discount
            </th>
            <th>
                <center>Pick Course</center>
            </th>
        </tr>
    </thead>
</table>
这是我的模型

public function get_active_courses(){
     $this->db->select('*');
    $this->db->from('courses');
    $this->db->where('status',1);
    $query=$this->db->get();
    return $query->result();    
    }
我的JSON数据

{"data":[{"course_id":"1","course_name":" PHP","price_INR":"25,000","price_USD":"750","no_of_hours":"86","date":"2016-05-19 17:58:47","status":"1","discount":"5.89"},{"course_id":"5","course_name":"Java","price_INR":"15,000","price_USD":"650","no_of_hours":"25","date":"2016-05-14 07:59:24","status":"1","discount":"2.50"},{"course_id":"6","course_name":"Dot net","price_INR":"23,000","price_USD":"250","no_of_hours":"36","date":"2016-05-14 12:16:33","status":"1","discount":"5.63"},{"course_id":"7","course_name":"python","price_INR":"15000","price_USD":"650","no_of_hours":"78","date":"2016-05-14 19:25:34","status":"1","discount":"2.50"},{"course_id":"9","course_name":"HTML & CSS","price_INR":"28,000","price_USD":"980","no_of_hours":"78","date":"2016-05-14 19:31:16","status":"1","discount":"2.36"}]}

检查json是否返回以表格数据为值的“data”属性,即:

{
    "data" : [
        {...},
        {...}
        ...
    ]
}
为此,只需改变

public function data_courses(){
    $result=$this->Users_model->get_active_courses();
    echo json_encode($result);
}
致:

更多信息


更新:您还应该检查html表中的标题列(元素
th
与javascript中的列数是否相同。目前,javascript中定义了7列,但html中定义了6列标题列。尝试删除列定义中的最后一个
{“bSortable”:false}

能否共享生成的json?谢谢sebastianb事实上我对JSONandDataTables不熟悉,如果我将该列更改为数据,我将得到空表,但没有数据显示colud。您可以帮助检查查询是否(get_active_)实际上返回了一些东西。我已经检查了上次的查询,它显示了正确的查询@sebastianbb,但是查询是否返回了一些东西?在echo之前尝试使用die(var_dump($result)),或者使用浏览器中的开发人员工具检查ajax响应。我正在获取JSON格式的数据,但我想在s中的表中显示我的数据。我怎么能??
public function data_courses(){
    $result=$this->Users_model->get_active_courses();
    echo json_encode($result);
}
public function data_courses(){
    $result=$this->Users_model->get_active_courses();
    echo json_encode(array("data" => $result));
}