【问题标题】:DataTables Requested unknown parameter '1' for row 0, column 1 FeathersJsDataTables 请求第 0 行第 1 列的未知参数“1”FeathersJs
【发布时间】:2018-03-31 04:57:05
【问题描述】:

我有 featherjs 应用程序并尝试使用数据表。我正在使用具有以下配置的 ajax 数据源:

$('#example').DataTable({
      "ajax": {
          "url": "<url-placeholder>",
          "dataType": "json",
          "cache": true,  // this is to remove the '_' sent by datatables
          "data": function(params) {
            // Put additional parameters here
            return params;
          },
          "dataSrc": function(result) {
            var data = JSON.stringify(result.data);
            console.log(data);

            return data;
          },
          "columns": [
            { data: "_id" },
            { data: "name" },
            { data: "symbol" }
          ]
      }
    });

我有这样的 HTML

<table id="example">
        <thead>
            <tr>
                <th>Id</th>
                <th>Name</th>
                <th>Symbol</th>
            </tr>
        </thead>
    </table>

服务器返回这个:

[{"_id":"5abdd8548d46ed03dcb0ce2c","name":"ABS-CBN","symbol":"ABS"},{"_id":"5abdd8548d46ed03dcb0ce2d","name":"AC PREF B2" ,"symbol":"ACPB2"},{"_id":"5abdd8548d46ed03dcb0ce2e","name":"Asiabest Gorup","symbol":"ABG"},{"_id":"5abdd8548d46ed03dcb0ce2f","name": "AC PREF B1","symbol":"ACPB1"},{"_id":"5abdd8548d46ed03dcb0ce30","name":"Anchor Land","symbol":"ALHI"},{"_id":"5abdd8548d46ed03dcb0ce31" ,"name":"Bogo Medellin","symbol":"BMM"},{"_id":"5abdd8548d46ed03dcb0ce32","name":"DAVINCI CAPITAL","symbol":"DAVIN"},{"_id" :"5abdd8548d46ed03dcb0ce33","name":"FIRST METRO ETF","symbol":"FMETF"},{"_id":"5abdd8548d46ed03dcb0ce34","name":"IPeople","symbol":"IPO"}, {"_id":"5abdd8548d46ed03dcb0ce35","name":"马尼拉公报","symbol":"MB"}]

返回此错误的数据表。我已经搜索了好几个小时的答案。我被这个错误困住了

DataTables 警告:table id=example - 请求第 0 行第 1 列的未知参数“1”。有关此错误的更多信息,请参阅http://datatables.net/tn/4

【问题讨论】:

  • 错误是针对数组中的空列。发布的数据看起来不错,如果有更多行,请检查所有字段是否存在?
  • @MukeshModhvadiya - 在 dataSrc 中我记录了 result.data 并在函数中返回它。我检查了它没有额外的数据。当然结果对象包含其他属性,但我只是抓住了 result.data/

标签: mongodb datatables datatables-1.10 feathersjs


【解决方案1】:

我认为问题在于您在 Ajax 块中有 columns 定义 - 它应该在外部:

$('#example').DataTable({
    "ajax": {
        "url": "<url-placeholder>",
        "dataType": "json",
        "cache": true, // this is to remove the '_' sent by datatables
        "data": function(params) {
            // Put additional parameters here
            return params;
        },
        "dataSrc": function(result) {
            var data = JSON.stringify(result.data);
            console.log(data);

            return data;
        }
    },

    "columns": [
        { data: "_id" },
        { data: "name" },
        { data: "symbol" }
      ]

});

我不相信 DataTables 支持 cachedataType 选项,但请先移动 columns 块后尝试删除这些选项。

【讨论】:

  • 'columns' 属性在 ajax 属性之外。右花括号用于 dataTables 选项声明
  • 不,抱歉,由于嵌套在您粘贴的原始代码中,列声明肯定在 Ajax 块中!我只是检查了两次和三次以确保:)
猜你喜欢
  • 1970-01-01
  • 2016-09-24
  • 2014-09-13
  • 2021-06-08
  • 2020-11-30
  • 2014-05-21
  • 2019-01-25
  • 1970-01-01
相关资源
最近更新 更多