【问题标题】:DataTables: issue with adding rows after Ajax requestDataTables:在 Ajax 请求后添加行的问题
【发布时间】:2015-08-22 10:07:49
【问题描述】:

当我使用以下行将数据从服务器添加到数据表时,

allOrder.rows.add(response.orderList).draw();

我收到警告

DataTables 警告:表 id={id} - 请求行 0 的未知参数 0

我的表初始化:

ele.DataTable({
   "retrieve": true,
   "responsive": false,
   "columns": [
      {"data": "eOrderNo"},
      {"data": "siebelOrderNo"},
      {"data": "networkId"},
      {"data": "serviceId"},
      {"data": "customerName"},
      {"data": "orderRef"},
      {"data": "ocn"},
      {"data": "originator"},
      {"data": "custService"},
      {"data": "status"},
      {"data": "orderType"},
      {"data": "productDetails"},
      {"data": "createDate"},
      {"data": "csd"},
      {"data": "crd"},
      {"data": "icd"},
      {"data": "cpd"},
      {"data": "ActualDate"}
   ],
   "scrollY": "300px",
   "scrollCollapse": true,
   "sScrollX": "100%",
   "sScrollXInner": "400%",
   "paging": true,
   "pageLength": 25,
   "lengthMenu": [10, 25, 50, 75, 100],
   "pagingType": "simple",

   /* for V Scroll */

   "bFilter": false,
   "bInfo": true,
   "bProcessing": true,
   "order": [
      [10, "desc"]
   ],
   "autoWidth": false,
});

JSON

[
    {
        "eOrderNo": "000050002",
        "siebelOrderNo": "000050002",
        "networkId": "",
        "serviceId": "",
        "customerName": "PIPPO",
        "orderRef": "",
        "ocn": "",
        "originator": "BREZZOLARI",
        "custService": "",
        "status": "Migrated to OH&P",
        "orderType": "New Order",
        "productDetails": " Voice Connect",
        "createDate": "2000-04-27 20:40:17.0",
        "csd": "",
        "crd": "",
        "icd": "",
        "cpd": "2000-05-03 23:00:00.0",
        "ActualDate": "2000-10-18 17:52:55.0"
    },
    {
        "eOrderNo": "000083855",
        "siebelOrderNo": "000083855",
        "networkId": "",
        "serviceId": "LON/LON/E1D24282,\nLON/LON/E1D24284, \nLON/LON/E1D24285  (Ceased)",
        "customerName": "PAINE WEBBER",
        "orderRef": "",
        "ocn": "",
        "originator": "SHARRON GANDER",
        "custService": "",
        "status": "Completed",
        "orderType": "Cease",
        "productDetails": "Customer Related Services",
        "createDate": "2002-02-07 13:57:12.0",
        "csd": "",
        "crd": "2001-12-14 00:00:00.0",
        "icd": "",
        "cpd": "2002-03-07 00:00:00.0",
        "ActualDate": "2002-03-07 00:00:00.0"
    },
    {
        "eOrderNo": "000084305",
        "siebelOrderNo": "000084305",
        "networkId": "",
        "serviceId": "",
        "customerName": "PAINE WEBBER",
        "orderRef": "MC600",
        "ocn": "",
        "originator": "PAUL BURTON",
        "custService": "",
        "status": "Completed",
        "orderType": "Cease",
        "productDetails": " Link Metro",
        "createDate": "2001-04-17 09:11:03.0",
        "csd": "",
        "crd": "2001-04-14 00:00:00.0",
        "icd": "",
        "cpd": "2001-05-17 00:00:00.0",
        "ActualDate": "2001-05-03 00:00:00.0"
    },
    {
        "eOrderNo": "000084799",
        "siebelOrderNo": "000084799",
        "networkId": "",
        "serviceId": "LON/LON/LE-100779  (ceased)",
        "customerName": "INVESTEC",
        "orderRef": "",
        "ocn": "22593",
        "originator": "",
        "custService": "",
        "status": "Completed",
        "orderType": "Cease",
        "productDetails": " LANLink Metro",
        "createDate": "2002-11-21 16:48:36.0",
        "csd": "",
        "crd": "2002-11-21 00:00:00.0",
        "icd": "",
        "cpd": "2003-01-06 06:00:00.0",
        "ActualDate": "2002-11-29 00:00:00.0"
    },
    {
        "eOrderNo": "000088037",
        "siebelOrderNo": "000088037",
        "networkId": "",
        "serviceId": "LON/LON/E1-027579",
        "customerName": "EVOLUTION CONSULTING GROUP",
        "orderRef": "",
        "ocn": "",
        "originator": "STUART HORINE",
        "custService": "",
        "status": "Completed",
        "orderType": "Modification",
        "productDetails": " Voice Line",
        "createDate": "2001-01-22 11:06:21.0",
        "csd": "",
        "crd": "",
        "icd": "",
        "cpd": "2001-02-12 00:00:00.0",
        "ActualDate": "2001-01-22 00:00:00.0"
    },
    {
        "eOrderNo": "000100001",
        "siebelOrderNo": "000100001",
        "networkId": "",
        "serviceId": "DLEI00003",
        "customerName": "ECOMP ENGINEERING GMBH",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR WELLER",
        "custService": "",
        "status": "Closed",
        "orderType": "New Order",
        "productDetails": " LANLink Metro",
        "createDate": "2000-01-03 09:18:32.0",
        "csd": "",
        "crd": "2000-01-14 23:00:00.0",
        "icd": "",
        "cpd": "2000-01-14 23:00:00.0",
        "ActualDate": "2000-01-13 16:31:38.0"
    },
    {
        "eOrderNo": "000100001/1",
        "siebelOrderNo": "000100001/1",
        "networkId": "",
        "serviceId": "DLEI00003",
        "customerName": "NEXTRA DEUTSCHLAND COMMUNICATION GMBH",
        "orderRef": "",
        "ocn": "OMN01",
        "originator": "HERR RUDOLF MORBITZER",
        "custService": "",
        "status": "Completed",
        "orderType": "Cease",
        "productDetails": " LANLink Metro",
        "createDate": "2001-02-23 09:22:20.0",
        "csd": "",
        "crd": "2001-03-30 23:00:00.0",
        "icd": "",
        "cpd": "2001-04-01 23:00:00.0",
        "ActualDate": "2001-04-02 16:19:56.0"
    },
    {
        "eOrderNo": "000100002",
        "siebelOrderNo": "000100002",
        "networkId": "",
        "serviceId": "SE0100135-142",
        "customerName": " TELECOM STUTTGART",
        "orderRef": "",
        "ocn": "",
        "originator": "LUDWIG MODRA",
        "custService": "",
        "status": "Completed",
        "orderType": "Internal",
        "productDetails": " Link Metro",
        "createDate": "2000-01-03 09:10:34.0",
        "csd": "",
        "crd": "",
        "icd": "",
        "cpd": "2000-01-11 23:00:00.0",
        "ActualDate": "2000-01-13 06:55:10.0"
    },
    {
        "eOrderNo": "000100003",
        "siebelOrderNo": "000100003",
        "networkId": "",
        "serviceId": "HE0X01125",
        "customerName": "MEDIA CONSULTING JOERG MANDT",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR JOERG MANDT",
        "custService": "",
        "status": "Closed",
        "orderType": "New Order",
        "productDetails": " Voice Line",
        "createDate": "2000-01-03 09:18:36.0",
        "csd": "",
        "crd": "",
        "icd": "",
        "cpd": "2000-01-16 23:00:00.0",
        "ActualDate": "2000-08-13 23:00:00.0"
    },
    {
        "eOrderNo": "000100003/1",
        "siebelOrderNo": "000100003/1",
        "networkId": "",
        "serviceId": "HE0X01125",
        "customerName": "MEDIA CONSULTING JOERG MANDT",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR JOERG MANDT",
        "custService": "",
        "status": "Completed",
        "orderType": "Cease",
        "productDetails": " Voice Line",
        "createDate": "2000-08-03 12:16:25.0",
        "csd": "",
        "crd": "2000-08-03 23:00:00.0",
        "icd": "",
        "cpd": "2000-08-15 23:00:00.0",
        "ActualDate": "2000-08-13 23:00:00.0"
    },
    {
        "eOrderNo": "000100004",
        "siebelOrderNo": "000100004",
        "networkId": "",
        "serviceId": "FE1V11746",
        "customerName": " TELECOM FRANKFURT",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR SANDRO INGLESE",
        "custService": "",
        "status": "Completed",
        "orderType": "Internal",
        "productDetails": " Link Metro",
        "createDate": "2000-01-03 09:22:23.0",
        "csd": "",
        "crd": "",
        "icd": "",
        "cpd": "2000-01-23 23:00:00.0",
        "ActualDate": "2000-02-02 12:53:57.0"
    },
    {
        "eOrderNo": "000100005",
        "siebelOrderNo": "000100005",
        "networkId": "",
        "serviceId": "FE1S11747",
        "customerName": " TELECOM FRANKFURT",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR SANDRO INGLESE",
        "custService": "",
        "status": "Completed",
        "orderType": "Internal",
        "productDetails": " Link Metro",
        "createDate": "2000-01-03 09:26:12.0",
        "csd": "",
        "crd": "",
        "icd": "",
        "cpd": "2000-01-23 23:00:00.0",
        "ActualDate": "2000-01-20 07:27:36.0"
    },
    {
        "eOrderNo": "000100006",
        "siebelOrderNo": "000100006",
        "networkId": "",
        "serviceId": "HE0X01126.",
        "customerName": "MEDIA CONSULTING JOERG MANDT",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR JOERG MANDT",
        "custService": "",
        "status": "Closed",
        "orderType": "New Order",
        "productDetails": " Voice Line",
        "createDate": "2000-01-03 09:38:33.0",
        "csd": "",
        "crd": "",
        "icd": "",
        "cpd": "2000-01-16 23:00:00.0",
        "ActualDate": "2000-08-13 23:00:00.0"
    },
    {
        "eOrderNo": "000100006/1",
        "siebelOrderNo": "000100006/1",
        "networkId": "",
        "serviceId": "HE0X01126",
        "customerName": "MEDIA CONSULTING JOERG MANDT",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR JOERG MANDT",
        "custService": "",
        "status": "Completed",
        "orderType": "Cease",
        "productDetails": " Voice Line",
        "createDate": "2000-08-03 12:20:49.0",
        "csd": "",
        "crd": "2000-08-03 23:00:00.0",
        "icd": "",
        "cpd": "2000-08-15 23:00:00.0",
        "ActualDate": "2000-08-13 23:00:00.0"
    },
    {
        "eOrderNo": "000100007",
        "siebelOrderNo": "000100007",
        "networkId": "",
        "serviceId": "FE5RI0529",
        "customerName": " TELECOM FRANKFURT",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR OLIVER GROSS",
        "custService": "",
        "status": "Completed",
        "orderType": "New Order",
        "productDetails": "INTERNAL",
        "createDate": "2000-01-03 09:34:31.0",
        "csd": "",
        "crd": "",
        "icd": "",
        "cpd": "2000-02-20 23:00:00.0",
        "ActualDate": "2000-02-21 07:36:34.0"
    },
    {
        "eOrderNo": "000100008",
        "siebelOrderNo": "000100008",
        "networkId": "",
        "serviceId": "NA",
        "customerName": " TELECOM FRANKFURT",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR BRIAN CALLAN",
        "custService": "",
        "status": "Completed",
        "orderType": "Internal",
        "productDetails": "INTERNAL",
        "createDate": "2000-01-03 09:41:09.0",
        "csd": "",
        "crd": "2000-01-30 23:00:00.0",
        "icd": "",
        "cpd": "2000-01-31 23:00:00.0",
        "ActualDate": "2000-02-22 17:10:27.0"
    },
    {
        "eOrderNo": "000100009",
        "siebelOrderNo": "000100009",
        "networkId": "",
        "serviceId": "F_IA00053",
        "customerName": " TELECOM FRANKFURT",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR JENS MOELLER",
        "custService": "",
        "status": "Completed",
        "orderType": "Internal",
        "productDetails": "Others (PW)",
        "createDate": "2000-01-03 09:46:59.0",
        "csd": "",
        "crd": "",
        "icd": "",
        "cpd": "2000-01-25 23:00:00.0",
        "ActualDate": "2000-01-20 14:30:23.0"
    },
    {
        "eOrderNo": "000100011",
        "siebelOrderNo": "000100011",
        "networkId": "",
        "serviceId": "FE1X11748",
        "customerName": "AZYX DEUTSCHLAND GMBH",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR HERRWIG",
        "custService": "",
        "status": "Closed",
        "orderType": "New Order",
        "productDetails": " Voice Line",
        "createDate": "2000-01-03 10:50:19.0",
        "csd": "",
        "crd": "2000-01-21 23:00:00.0",
        "icd": "",
        "cpd": "2000-02-10 23:00:00.0",
        "ActualDate": "2000-02-11 13:01:59.0"
    },
    {
        "eOrderNo": "000100011/1",
        "siebelOrderNo": "000100011/1",
        "networkId": "",
        "serviceId": "FE1X11748",
        "customerName": "AZYX",
        "orderRef": "",
        "ocn": "AZY01",
        "originator": "TBA",
        "custService": "",
        "status": "Completed",
        "orderType": "Cease",
        "productDetails": " Voice Line",
        "createDate": "2003-04-30 11:16:33.0",
        "csd": "2003-04-29 23:00:00.0",
        "crd": "2003-04-29 23:00:00.0",
        "icd": "",
        "cpd": "2003-05-01 07:00:00.0",
        "ActualDate": "2003-05-13 14:40:52.0"
    },
    {
        "eOrderNo": "000100013",
        "siebelOrderNo": "000100013",
        "networkId": "",
        "serviceId": "FE1P11864",
        "customerName": "CARPENET INFORMATION TECHNOLOGIES GMBH",
        "orderRef": "",
        "ocn": "",
        "originator": "HERR DAVIS",
        "custService": "",
        "status": "Closed",
        "orderType": "New Order",
        "productDetails": " Link Metro",
        "createDate": "2000-01-03 10:48:03.0",
        "csd": "",
        "crd": "1999-12-31 23:00:00.0",
        "icd": "",
        "cpd": "2000-02-20 23:00:00.0",
        "ActualDate": "2000-02-21 13:28:33.0"
    },
    {
        "eOrderNo": "000100013/1",
        "siebelOrderNo": "000100013/1",
        "networkId": "",
        "serviceId": "FE1P11864",
        "customerName": "CARRIER1 GMBH & CO. KG",
        "orderRef": "",
        "ocn": "CAR01",
        "originator": "FRAU BRIGITTE DAVIS",
        "custService": "",
        "status": "Completed",
        "orderType": "Cease, All",
        "productDetails": " Link Metro",
        "createDate": "2004-12-06 14:29:00.0",
        "csd": "2004-11-28 23:00:00.0",
        "crd": "2004-12-31 16:00:00.0",
        "icd": "",
        "cpd": "2005-01-03 11:00:00.0",
        "ActualDate": "2005-02-03 14:56:54.0"
    },
    {
        "eOrderNo": "000100013SH1",
        "siebelOrderNo": "000100013SH1",
        "networkId": "",
        "serviceId": "96W/89002/89002/10421, DA: 11;\n96W/89002/89002/12220; DA72;",
        "customerName": "NEUBO HAUSVERWALTUNG GMBH & CO. BETRIEBS KG",
        "orderRef": "",
        "ocn": "517322",
        "originator": "HERR HELMUT SCHLACHTER",
        "custService": "",
        "status": "Closed",
        "orderType": "Upgrade",
        "productDetails": " Voice Line",
        "createDate": "2002-07-05 10:40:02.0",
        "csd": "2002-07-03 23:00:00.0",
        "crd": "",
        "icd": "",
        "cpd": "2002-08-12 07:00:00.0",
        "ActualDate": "2002-08-12 11:21:38.0"
    },
    {
        "eOrderNo": "000100013SH1/1",
        "siebelOrderNo": "000100013SH1/1",
        "networkId": "",
        "serviceId": "96W/89002/89002/10421, DA11;\n96W/89002/89002/12220; DA72;",
        "customerName": "NEUBO HAUSVERWALTUNG GMBH & CO. BETRIEBS KG",
        "orderRef": "",
        "ocn": "517322",
        "originator": "HERR HELMUT SCHLACHTER",
        "custService": "",
        "status": "Closed",
        "orderType": "Modification",
        "productDetails": " Voice Line",
        "createDate": "2002-08-05 15:55:25.0",
        "csd": "2002-08-04 23:00:00.0",
        "crd": "",
        "icd": "",
        "cpd": "2002-08-25 23:00:00.0",
        "ActualDate": "2002-08-26 09:45:04.0"
    },
    {
        "eOrderNo": "000100013SH1/2",
        "siebelOrderNo": "000100013SH1/2",
        "networkId": "",
        "serviceId": "96W/89002/89002/10421, DA11;\n96W/89002/89002/12220; DA72;",
        "customerName": "NEUBO HAUSVERWALTUNG GMBH & CO. BETRIEBS KG",
        "orderRef": "",
        "ocn": "517322",
        "originator": "HERR HELMUT SCHLACHTER",
        "custService": "",
        "status": "Completed",
        "orderType": "Cease, All",
        "productDetails": " Voice Line",
        "createDate": "2004-10-11 10:43:06.0",
        "csd": "2004-10-03 23:00:00.0",
        "crd": "",
        "icd": "",
        "cpd": "2004-10-11 11:00:00.0",
        "ActualDate": "2004-10-11 10:45:12.0"
    },
    {
        "eOrderNo": "000100014",
        "siebelOrderNo": "000100014",
        "networkId": "",
        "serviceId": "N/A",
        "customerName": " TELECOM GMBH",
        "orderRef": "",
        "ocn": "",
        "originator": "THORSTEN KULKE",
        "custService": "",
        "status": "Completed",
        "orderType": "Internal",
        "productDetails": "Others (PW)",
        "createDate": "2000-01-03 10:56:10.0",
        "csd": "",
        "crd": "2000-02-03 23:00:00.0",
        "icd": "",
        "cpd": "2000-04-13 23:00:00.0",
        "ActualDate": "2000-04-13 10:59:08.0"
    }
]

在表格上绘制了行,但没有数据添加到表格中。

我的表头如下:

<table id="allOrders" class="table table-hover" cellspacing="0">
<thead>
<th data-toggle="tooltip" title="title description goes here..">eOrderNo</th>
<th data-toggle="tooltip" title="title description goes here..">siebelOrderNo</th>
<th data-toggle="tooltip" title="title description goes here..">networkId</th>
<th data-toggle="tooltip" title="title description goes here..">serviceId</th>
<th data-toggle="tooltip" title="title description goes here..">customerName</th>
<th data-toggle="tooltip" title="title description goes here..">orderRef</th>
<th data-toggle="tooltip" title="title description goes here..">ocn</th>
<th data-toggle="tooltip" title="title description goes here..">originator</th>
<th data-toggle="tooltip" title="title description goes here..">custService</th>
<th data-toggle="tooltip" title="title description goes here..">status</th>
<th data-toggle="tooltip" title="title description goes here..">orderType</th>
<th data-toggle="tooltip" title="title description goes here..">productDetails</th>
<th data-toggle="tooltip" title="title description goes here..">createDate</th>
<th data-toggle="tooltip" title="title description goes here..">csd</th>
<th data-toggle="tooltip" title="title description goes here..">crd</th>
<th data-toggle="tooltip" title="title description goes here..">icd</th>
<th data-toggle="tooltip" title="title description goes here..">cpd</th>
<th data-toggle="tooltip" title="title description goes here..">coltActualDate</th>
</thead>
</table>

最终编辑:我的问题是填充代码的位置 桌子。它与代码所在的范围不同 表初始化被放置,因此它与 原始初始化。

【问题讨论】:

  • 你能提供一个小提琴吗?
  • @JSantosh 我正在使用来自内部服务器的实时数据加载。我无法在小提琴上复制它

标签: jquery datatables


【解决方案1】:

检查这个:https://www.datatables.net/manual/tech-notes/4。 在您的情况下,“诊断/参数是一个整数”部分是相关的:

当 {parameter} 为整数时,DataTables 正在从数组中查找数据。这通常是使用 DOM 源数据时的情况(即表的数据是从文档中自动读取的)。在这种情况下,请求的数据在源数组中不存在 - 可能是因为数组不够长。在以下情况下可能会发生这种情况:

  • 表格的tbody中有colspan或rowspan,DataTables不支持。

  • 使用 columns 或 columnDefs 指定的列数超过 HTML 中的列数

  • 表格中的单元格数不满足等式#cells = #columns * #rows(即标题中定义的列多于表格主体中定义的列,反之亦然)。

您的 html 代码中没有 &lt;tbody&gt; 标签,因此请按照链接文档中的说明添加。

更新

还要检查一下:在列定义中你有 {"data": "coltActualDate"} 并且在 JSON 数组中你有 "ActualDate": "2000-10-18 17:52:55.0" 。可能它不起作用,因为名称不匹配。

更新 2

我已经用你的代码创建了 JSfiddle,一切正常。 https://jsfiddle.net/uosa3dha/1/

【讨论】:

  • 我已经阅读了文档,并检查了我刚刚添加 标签的三点,仍然是同样的错误。
  • 所以检查我在更新中添加的名称,所有其他名称都匹配,只有最后一个在列定义和 JSON 对象数组中不同。
  • 我已经更新了问题,我不得不从 json 和 html 中删除我的公司名称。 coltactualdate 是正确的。并出现在 json 和我的专栏中
  • 小提琴确实在某种程度上帮助了我,我的 init 代码和 rows.add 代码位于不同的 js 范围内,一旦我对页面进行更改并从相同的 JS 范围加载数据,它就可以工作了正如预期的那样。基本上我将按钮移动到我的表初始化代码所在的同一个 document.ready 上。
【解决方案2】:

解决方案

添加ajax.dataSrc并将其设置为空字符串('')以匹配您的数据结构,如下所示:

ele.DataTable({
    ajax: {
        url: 'script.php',
        dataSrc: '' 
    },
    /* ... skipped ... */
});

来自ajax.dataSrc 选项说明:

请注意,如果您的 Ajax 源只是返回一个数据数组到 显示,而不是对象,将此参数设置为空 字符串。

注意事项

您的代码还有其他问题

  • "autoWidth": false 后面的逗号
  • thead 元素内部必须有tr 标签,将th 包裹在tr 中。

【讨论】:

  • 感谢您的回复,但就我而言,数据需要在用户操作后填充,而不是在数据表加载到页面时填充。还删除了 包装以进行命中和试用,只是为了查看 jquery 访问 th 是否存在问题。同样根据 JSON 规范,数组可以有一个尾随逗号,但感谢您指出,我已经在我的实际代码中更正了它。
  • 特别感谢您编辑代码,我应该这样做。
猜你喜欢
相关资源
最近更新 更多
热门标签