datatables空表错误

ack*_*hez 2 javascript jquery datatables

我有一段代码,我使用datatables插件.

表结构如下所示:

<thead>
    <tr>
        <th>col1</th>
        <th>col2</th>
        <th>col3</th>
        <th>col4</th>
        <th>col5</th>
        <th>col6</th>
        <th>col7</th>
        <th>col8</th>
    </tr>
</thead>
Run Code Online (Sandbox Code Playgroud)

但请注意,在初始化代码中,我隐藏了最后四列.

在我的代码中,我执行以下操作:

if($data->responseCode < 400)
{
    echo HTML Table
}
Run Code Online (Sandbox Code Playgroud)

这样可行

else
{
    echo '<tr><td colspan=4><h1 class="error">'.$data->errorMsg.'</h1></td></tr>';
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到以下错误:

"DataTables warning(table id ='DataTables_Table_0'):从第0行的数据源请求未知参数'1'"

这是dataables代码:

var oTable = $('.table1').DataTable({
    "iDisplayLength": 100,
    "aaSortingFixed": [[0,'desc']],
    "aaSorting": [ [0,'asc'] ],
    "aoColumnDefs": [
          { "bVisible": false, "aTargets": [ 4,5,6,7 ] },
          { "bSearchable": false, "aTargets": [ 1,2,3,4,5,6,7] },
          { "bSearchable": true, "aTargets": [ 0 ] },
        ]
});
Run Code Online (Sandbox Code Playgroud)

有谁知道会导致什么?我想也许是colspan,但当我删除它时,问题仍然存在.奇怪的是我在另一个页面上使用它,它似乎处理一个空的结果集就好了.

不确定这是否有帮助,但在玩了一点后我设法得到以下错误显示在firebug中:

"TypeError:nTd未定义"

OQJ*_*QJF 5

如果您经常使用数据表,那么这是您将获得的常见错误.原因是用于创建数据表的数据格式与表列不匹配,例如,您有4列,而源数据只能提供3列.您可以发布数据格式和表格结构,让我检查一下进一步的问题.