带有ajax的DataTables 1.10.6,为第0行请求了未知参数0

带有ajax的DataTables 1.10.6,为第0行请求了未知参数0,ajax,django,datatables,Ajax,Django,Datatables,我刚开始使用DataTables,在我想切换到服务器端处理之前,它一直工作得很好 这感觉就像我开始接近它的工作,它现在给我一个错误,并显示正确数量的行,但没有任何数据 所以我得到了一个错误: DataTables警告:表id=DataTables outputTest-为第0行请求的未知参数“0”。有关此错误的详细信息,请参阅 这是我的js: $(document).ready( function () { $('#dataTables-outputTest').DataTable({

我刚开始使用DataTables,在我想切换到服务器端处理之前,它一直工作得很好

这感觉就像我开始接近它的工作,它现在给我一个错误,并显示正确数量的行,但没有任何数据

所以我得到了一个错误:

DataTables警告:表id=DataTables outputTest-为第0行请求的未知参数“0”。有关此错误的详细信息,请参阅

这是我的js:

$(document).ready( function () {
    $('#dataTables-outputTest').DataTable({
        "processing": true,
        "serverSide": true,
        "ajax": "/TestData/data-source"
    });
});
这是我试图放入表中的JSON:

{
    "data": [
        {
            "cycle_p": 628320,
            "designation": "C1",
            "gear": "R660",
            "cycle_k": 204000,
            "reportnr": "NA05006"
        }
    ],
    "draw": "1",
    "recordsFiltered": 1,
    "recordsTotal": 1
}
不知道这是否重要,但我使用的是Django,输出是来自不同模型的属性的混合

以下是相关的HTML:

<div class="dataTable_wrapper">
    <table class="table table-bordered table-hover" id="dataTables-outputTest">
        <thead>
        <tr>
            <th>Report</th>
            <th>Test</th>
            <th>Gear</th>
            <th>Cycle K</th>
            <th>Cycle P</th>
        </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
</div>

报告
试验
齿轮
周期K
周期P
非常感谢您的帮助,因为数据库必须能够在不降低速度的情况下大量增长。

您在数据中使用的是对象属性,因此您需要使用。请参见下面的示例:

$('#dataTables-outputTest').DataTable({
    "processing": true,
    "serverSide": true,
    "ajax": "/TestData/data-source",
    "columns": [
       { "data": "cycle_p" },
       { "data": "designation" },
       { "data": "gear" },
       { "data": "cycle_k" },
       { "data": "reportnr" }
    ]
});
您正在数据中使用,因此需要使用将对象属性与表列相匹配。请参见下面的示例:

$('#dataTables-outputTest').DataTable({
    "processing": true,
    "serverSide": true,
    "ajax": "/TestData/data-source",
    "columns": [
       { "data": "cycle_p" },
       { "data": "designation" },
       { "data": "gear" },
       { "data": "cycle_k" },
       { "data": "reportnr" }
    ]
});

您需要指定哪些数据对应于哪些列:

$('#dataTables-outputTest').DataTable({
    "processing": true,
    "serverSide": true,
    "ajax": "/TestData/data-source",
    columns : [
       { data : "cycle_p" },
       { data : "destination" },
       { data : "gear" },
       { data : "cycle_k" },
       { data : "reportnr" }
    ]
});
这将按照列中声明的顺序生成带有
的行。如果您有另一个布局和/或另外的
不应该从JSON接收数据,您可以使用
columnDefs

columnDefs : [
   { data : "cycle_p", targets : 0 },
   { data : "destination", targets : 8  },
   { data : "gear", targets : 3  },
   { data : "cycle_k", targets : 2  },
   { data : "reportnr", targets : 1  }
]

其中target是列索引。

您需要指定哪些数据对应于哪些列:

$('#dataTables-outputTest').DataTable({
    "processing": true,
    "serverSide": true,
    "ajax": "/TestData/data-source",
    columns : [
       { data : "cycle_p" },
       { data : "destination" },
       { data : "gear" },
       { data : "cycle_k" },
       { data : "reportnr" }
    ]
});
这将按照列中声明的顺序生成带有
的行。如果您有另一个布局和/或另外的
不应该从JSON接收数据,您可以使用
columnDefs

columnDefs : [
   { data : "cycle_p", targets : 0 },
   { data : "destination", targets : 8  },
   { data : "gear", targets : 3  },
   { data : "cycle_k", targets : 2  },
   { data : "reportnr", targets : 1  }
]

其中target是列索引。

好的,所以当我将html清理到这里后,我删除了其中的一些内容。所以我去掉了那个错误信息。现在我被困在处理上了。好吧,当我清理html并发布到这里时,我删除了html中的一些内容。所以我去掉了那个错误信息。现在我被困在处理上了。是的,我注意到了这一点,但通过重新排序解决了这个问题。但这是一个很好的建议,我将来可能需要它。是的,我注意到了,但通过重新排列它们来解决它。但这是一个很好的建议,我将来可能需要它。