0

我会尽力解释,如果您需要更多信息,请告诉我。

我正在使用一个模板,其中数据表的定义如下:

<table id="id_table" class='table table-striped dataTable table-bordered'>

当数据就在那里时,这会产生一个很好的表格。但是,当尝试通过 ajax 填充数据时,出现以下错误:

DataTables warning (table id = 'id_table'): Requested unknown parameter '1' from the data source for row 0

我确认 php 文件没有任何问题。如果我从表类中删除“dataTable”部分,我会得到没有错误的数据,但是样式会受到影响并且表看起来很糟糕。也就是说,像这样保留表的定义:

table id="id_table" class='table table-striped table-bordered'>

(请注意,“dataTable”已被删除)。有了上面的表格,所有数据都正确存在,唯一受到影响的是样式。

我去了css(我正在加载的唯一一个),这就是我能看到的关于那个类的全部内容:

    .table.dataTable {
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
}
.table.dataTable.dataTable-noheader {
  border-top: 0;
}
.table.dataTable.dataTable-nofooter {
  border-bottom: 0;
}

奇怪的是,如果我更改该类的名称,即使我不更改 html 中的类,行为也是一样的,这个类与数据表有关吗?我完全迷失了,我已经看了好几个小时了,我看不出这一切背后的逻辑。请有人扔灯!:)

4

1 回答 1

1

您是否使用了一些依赖于 dataTable 类的插件?听起来有些东西正在尝试将数据附加到表中或修改它,并通过在类名上使用 css 选择器来查找表$(".dataTable"),当您更改类名时,您正在破坏此选择器,这就是您不这样做的原因再也看不到错误了。

您应该尝试检查从 ajax 调用返回的数据,并确认它与您的 javascript 代码所期望的匹配。

编辑:

事实上,数据表常见问题解答提到了这个错误:

Q.“请求的未知参数”错误

A. 当 DataTables 请求表的数据源中不存在的属性时,您会收到此错误。这可能是由于在正文中指定了不正确的列数、缺少参数和 colspan / rowspan。如果这些要点不能帮助解决问题,请使用 DataTables 调试器并在论坛中发布问题。

显然,您收到的错误意味着数据表在返回的 JSON 数组的索引 1 处找不到元素的值。Requested unknown parameter '1' from the data source for row 0. 检查 JSON 数据,尤其是检查是否为数据表中的每一列返回了一个值。

于 2012-08-22T22:23:54.033 回答