我会尝试尽我所能解释,如果您需要其他信息,请与我们联系。
我正在使用一个模板,其中数据表的定义如下:
<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文件没有任何问题。如果我从表类中删除了&#39; dataTable&#39;部分,我得到的数据没有错误,但风格受到影响,表格看起来很糟糕。也就是说,保留表的定义如下:
table id="id_table" class='table table-striped table-bordered'>
(请注意&#39; dataTable&#39;已删除)。使用上面的表格,所有数据都是正确的,唯一受影响的是样式。
我去了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中的类,行为也是一样的,这个类是否与数据表相关?我完全迷失了,我现在已经看了好几个小时了,我无法看到这一切背后的逻辑。请有人投光! :)
答案 0 :(得分:1)
您使用的是依赖于dataTable类的plugin吗?听起来有些事情试图将数据附加到表或修改它,并通过在类名$(".dataTable")
上使用css选择器查找表,当您更改类名时,您正在打破此选择器这就是为什么你不再看到错误了。
您应该尝试检查从ajax调用返回的数据,并确认它与您的javascript代码所期望的相匹配。
修改强>
事实上,数据表FAQ提到了这个错误:
Q值。 “请求的未知参数”错误
一个。当DataTables请求表中数据源中不存在的属性时,会出现此错误。它可能是由于在正文中指定了错误的列数,缺少的参数和colspan / rowspan。如果这些要点无法解决问题,请使用DataTables调试器并在论坛中发布问题。
显然,您获得的错误意味着数据表没有在返回的JSON数组的索引1处找到元素的值。 Requested unknown parameter '1' from the data source for row 0
。检查JSON数据,特别是检查是否为数据表中的每一列返回了值。