数据表请求未知参数' 0' 0第0行

时间:2014-07-24 16:52:04

标签: codeigniter datatable datatables

当我尝试从数据库中的clients表中获取数据时,我遇到了这个问题

DataTables警告:table id = example - 第0行请求的未知参数“0”。有关此错误的详细信息,请参阅http://datatables.net/tn/4

这是我在Codeigniter中的控制器

class Clients extends CI_Controller  {

    function header()
    {
        $data['hms'] = $this->config->item('page_title');
        $this->load->view('header3',$data);
    }

    public function index()
    {

        //$this->datatables->select('*');
        //$this->datatables->from('bookitguests');
        //$data['clients'] = $this->datatables->generate();
        $data = "";
        $this->header();
        $this->load->view('all_guests',$data);
    }

    public function TableClients()
    {
        $this->datatables->select('name, surname, email')->from('bookitguests');
        echo $this->datatables->generate();
    }

}

这是我在Codeigniter中的视图(ps,我没有添加头文件,它太长了)

<!-- DataTables CSS -->
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.1/css/jquery.dataTables.css">
<!-- jQuery -->
<script type="text/javascript" charset="utf8" src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<!-- DataTables -->
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.1/js/jquery.dataTables.js"></script>
<script type="text/javascript" language="javascript" charset="utf-8">
    $(document).ready(function() {
        $('#example').DataTable( {
            "bProcessing": false,
            "bServerSide": false,
            "sAjaxSource": "<?php base_url(); ?>clients/TableClients",
            "sServerMethod": "POST"
        } );
    } );
</script>

<div id="container">
    <h1>All Clients</h1>

    <div id="body">
        <table id="example" class="display">
            <thead>
            <tr>
                <th>Name</th>
                <th>Surname</th>
                <th>Email</th>
            </tr>
            </thead>
            <tbody>
            </tbody>
        </table>
    </div>
    <p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds</p>
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:15)

使用对象数组而不是二维数组时,需要显式指定列。

"columns": [
                { "data": "id" },
                { "data": "name" }
              ]

You can find more info here