This is possibly the most cryptic warning message that DataTables will show. It is a short error message as it needs to cope with all of the data source options that DataTables has, but flexible enough to convey information for each of these cases, hence why it can appear a little cryptic on first inspection. However, when we break it down into its component parts, it is actually relatively straight forward, as described below.

Meaning

Each cell in DataTables requests data, and when DataTables tries to obtain data for a cell and is unable to do so, it will trigger a warning, telling you that data is not available where it was expected to be. The warning message is:

DataTables warning: table id={id} - Requested unknown parameter '{parameter}' for row{row-index}, column{column-index}`

where:

  • {id} is replaced with the DOM id of the table that has triggered the error
  • {parameter} is the name of the data parameter DataTables is requesting
  • {row-index} is the DataTables internal row index (row().index()) for the row that has triggered the error.
  • {column-index} is the column data index (column().index()) for the column that has triggered the error. The column index information was added in DataTables 1.10.10.

So to break it down, DataTables has requested data for a given row, of the {parameter} provided and there is no data there, or it is null or undefined (DataTables doesn't know, by default how to display these parameters - see below if your data does contain these values).

Diagnosis

The key part to understanding this error message is the {parameter} aspect of it. It will be in one of three forms:

  • Integer
  • String
  • Function

Parameter is an integer

When {parameter} is an integer, DataTables is looking for data from an array. This is usually the case when using DOM sourced data (i.e. the data for the table is read automatically from the document). In this circumstance the requested data doesn't exist in source array - likely because the array isn't long enough. This can occur if:

  • There is a colspan or rowspan in the tbody of the table, which is not supported by DataTables.
  • Using columns or columnDefs you have specified more columns than there are in the HTML
  • The number of cells in the table does not satisfy the equation #cells = #columns * #rows(i.e. there are more columns defined in the header than in the table body, or vice-versa).

Parameter is a string

If {parameter} is shown as a string, this will typically indicate that you have used columns.dataor columns.render to pull data out of an object, be it Ajax loaded or from the client-side. For example the error message in read: Requested unknown parameter 'Name' for row 0. This will indicate that a column which uses columns.data has been unable to obtain valid data to display - for example:

1
{ data: 'Name' }

would produce this error if the data source object for the row had no Name parameter or the data wasnull or undefined.

As a result, this error usually occurs if:

  • The data property specified doesn't exist (a typo or a gap in data)
  • The value of the property specified is null

Parameter is a function

If {parameter} simply says {function} it means that columns.data or columns.renderhave been given as a function, but the function has returned null or undefined. For example, the following would trigger such an error:

1
2
3
4
5
{ data: function ( row, type, set ) {
    if ( type === 'display' ) {
        return row.Name;
    }
} );

Note how the return statement is only used when type === 'display'. As a result, if type is notdisplay then undefined is the return value from the function and DataTables will throw a warning.

Resolution

The key to resolving this error, is to ensure that DataTables has all of the data that is required. Specifically, check the following:

  • colspan and rowspan have not been used in the tbody of the table.
  • The equation #cells = #columns * #rows is satisfied.
  • If using columns ensure that you have specified exactly the number of columns that are present in the HTML for the table.
  • Also if using `dt-init columns, remove any trailing commas you might have at the end of the array. The additional comma can cause issues for older browsers.
  • If using dt-init columnDefs` ensure that you have not specified more columns than there are in the HTML
  • If using columns.render or columns.data ensure that they are returning a value (no return in Javascript is the same as returning undefined which will result in this error).
  • Ensure that the server-side script is completing its execution successfully. Long running scripts can time out for example. The server error logs will give an indication if this is the case.

null or undefined data

null and undefined values in a data source absolutely are valid and very often useful. DataTables warns about the use of them by default, as the majority of the time they are not intended for display - for example, rather than showing null in the table, you might want to show Not yet set, or simply an empty string (empty cell). For this, DataTables has a columns.defaultContent option.

With columns.defaultContent set, any null or undefined value will be replaced with the value specified. No warning will be shown in this circumstances.

DataTables warning requested unknown parameter的更多相关文章

  1. DataTables warning : Requested unknown parameter '5' from the data source for row 0

    在该项目中我使用了jquery.dataTables.js来作为我的前端数据表格. 表格的官网地址:https://www.datatables.net/ 一.jsp部分代码片段如下: <tab ...

  2. DataTables warning : Requested unknown parameter '0' from the data source for row 0错误

    在做datatables的项目,从后台取得数据后,返回给datatables界面时会报下面的错误: DataTables warning : Requested unknown parameter ' ...

  3. Jquery DataTables warning : Requested unknown from the data source for row 0

    昨天在做 Jquery DataTables 的时候,遇到的一个问题,我使用MVC,在tables上加入了一个actionlink的href.但是在运行起来的时候,报错: DataTables war ...

  4. DataTables warning: table id=data-table - Requested unknown parameter '3' for row 0.

    本文为博主原创,未经允许,不得转载: 在使用jquery 的datatable时,报错在页面弹出弹出框,并提示以下内容: DataTables warning: table id=data-table ...

  5. DataTables warning: table id=dataTable - Requested unknown parameter &#39;acceptId&#39; for row 0. For more

    重点内容 DataTables warning: table id=dataTable - Requested unknown parameter 'acceptId' for row 0. For ...

  6. DataTables warning (table id = 'myTable'): Requested unknown parameter '0' from the data source for row 0

    第一种方式:不用在js里设置列Html: <table id="myTable"> <thead> <tr> <th>Title-1 ...

  7. DataTables warning: table id=DataTables_Table_0 - Requested unknown parameter '1' for row 0. For more information about this error, please see http://datatables.net/tn/4

    今天在做后台的时候,考虑到会员模块和订单模块列表显示差不多,于是乎,偷了个懒,把会员列表显示页面的代码拷贝了过来,修改了一下,变成了订单模块.可是,在订单列表显示的时候老是报下面的错误,截图如下: 后 ...

  8. Warning: in_array() expects parameter 2 to be array, string given in D:\wamp\www\suiji.php on line 26

    可参考上篇文章  链接 PHP数组简写模式 同样是PHP版本问题:in_array()函数 第二个参数应该为数组 但是 lnmp下,PHP5.3不报错,wamp下PHP5.5报以下错误: echo & ...

  9. Unknown parameter datatype UNKNOW send from server.

    procedure Tmainform.Button7Click(Sender: TObject); begin kbmMWClientQuery3.Query.Text:='insert into ...

随机推荐

  1. C第12章-----堆

    #include <stdio.h> #include <stdlib.h> //声明Person结构 //struct Person{ //    float heightI ...

  2. CentOS 6.5 x64 安装Tomcat8 并配置两个Tomcat8

    1.首先,安装tomcat的前提是已经配置好jdk环境变量,若没配好可以参考我的上一篇博文:CentOS 6.5 x64安装jdk8,当然也可以通过网络搜索安装步骤~~ 2.下载: 可以通过官网下载: ...

  3. p3386 二分图匹配模板

    https://www.luogu.org/problemnew/show/P3386 可以只做一边的匹配 #include <bits/stdc++.h> using namespace ...

  4. NowCoder栗酱的连通图(最小生成树, 结论)

    链接: https://www.nowcoder.com/acm/contest/52/K 题意: 给定n个点,每个点有自己的权值, 然后让你添加n-1条边,使其边权和最大, 边权的定义是两点的点权和 ...

  5. Android开发——Accessibility机制实现模拟点击(微信自动抢红包实现)

    1. 何为Accessibility机制 许多Android使用者因为各种情况导致他们要以不同的方式与手机交互.对于那些由于视力.听力或其它身体原因导致不能方便使用Android智能手机的用户,And ...

  6. NYOJ660逃离地球——只为最大存活率~

    逃离地球 时间限制:1000 ms  |  内存限制:65535 KB 难度: 描述 据霍金的<时间简史>所述,在几亿年之后将再次发生宇宙大爆炸.在宇宙大爆炸后,地球上将新生出许多生物而不 ...

  7. hihoCoder#1127 二分图三·二分图最小点覆盖和最大独立集

    原题地址 主要是介绍了两个定理: 1. 二分图最大匹配数    = 二分图最小点覆盖数 2. 二分图最小点覆盖数 = 二分图顶点数 - 二分图最小点覆盖数 注意,都是二分图 代码:(匈牙利算法) #i ...

  8. HDU 3397 双lazy标记的问题

    题目大意 对一个只有0和1的序列,支持以下几种操作1.将区间所有的值变成12.将区间所有的值变为03.将区间的0和1翻转(0变成1 1变成0)4.求区间中1的个数5.求区间连续最长的1的个数 http ...

  9. 《TCP/IP详解卷1:协议》——第5章 RARP:逆地址解析协议(转载)

    1.引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其他方法来获得IP地址. 网络上的每个系统都具有唯一的硬件地址,它是由网络接口生 ...

  10. msp430入门编程45

    msp430中C语言的人机交互--独占CPU菜单