问题 数据表请求第0行的未知参数“0”


当我尝试从数据库中的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>

11757
2017-07-24 16:52


起源

没有人? :(抱歉碰撞... - tsompanis


答案:


你好,你只需要指定列

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

12
2017-07-29 20:57



你是什​​么意思 you need only specify the columns??在哪里添加?在js或server_processing.php文件中?如何添加?一切都不清楚,请编辑答案并添加适当的详细信息。 - Pratik C Joshi
使用对象数组而不是二维数组时,需要显式指定列。你可以在这里找到更多信息: datatables.net/blog/2011-05-01 - KingOfHypocrites
如果你不能解释好..不要这样做...... - KBK
这个答案不具有描述性 - Udara Seneviratne