我试图使用具有服务器端功能的数据表。但当它试图获取数据给我这个错误;解雇后,正确地重新加载数据。
DataTables warning: table id=clientTable -
正如你所看到的;没有对警告的解释。此外,我没有任何控制台警告。这是我的代码:
<table class="table table-striped table-hover table-bordered" id="clientTable">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Phone</th>
<th>Mail</th>
<th>Date</th>
<th>Auto</th>
</tr>
</thead>
</table>
$('#clientTable').dataTable({
"iDisplayLength": 20,
"processing": true,
"serverSide": true,
"ajax": clientApiConstant,
"columns":
[
{ "data": "id",},
{ "data": "name" },
{ "data": "phone" },
{ "data": "mail" },
{ "data": "date" },
{ "data": "auto" }
]
});
{
"data": [
{
"id": 2,
"name": "John Doe",
"date": "2017-04-04T00:00:00+0000",
"mail": "arda@asd.com",
"phone": "123123123",
"auto": true
},
{
"id": 3,
"name": "Doe John",
"date": "2017-04-22T00:00:00+0000",
"mail": "nihatcan@asd.com",
"phone": "234234234",
"auto": false
}
],
"recordsTotal": 2,
"recordsFiltered": 2,
"error": []
}
function K(a, b, c, d) {
c = "DataTables warning: " + (a ? "table id=" + a.sTableId +
" - " : "") + c;
d && (c += ". For more information about this error, please see http://datatables.net/tn/" + d);
if (b)
E.console && console.log && console.log(c);
else if (b = m.ext, b = b.sErrMode || b.errMode, a && s(a, null, "error", [a, d, c]), "alert" == b)
alert(c);
else {
if ("throw" == b)
throw Error(c);
"function" == typeof b && b(a, d, c)
}
}
at&#34; function&#34; == typeof b&amp;&amp; b(a,d,c)线;第1763行@ 1.10.15
答案 0 :(得分:1)
这是您的问题的解释
当jQuery落入其错误回调处理程序(此回调内置于DataTables)时会发生这种情况,这通常发生在服务器响应除2xx HTTP状态代码之外的任何内容时。例如,服务器可能会回复404 Not Found表示请求的文件在给定的URL上不可用,或者500 Internal Error表示服务器在处理请求时遇到错误。
解决方案: 如果您愿意接受错误(例如,如果您无法更改后端系统以修复错误),但不希望最终用户看到alert()消息,则可以更改DataTables的错误报告机制以进行抛出浏览器控制台出现Javascript错误,而不是提醒它。这可以使用:
完成jar
答案 1 :(得分:0)
用Capital编写DataTable&#39; D&#39;而不是dataTable。 对于DataTable的布尔属性,使用前缀b,对于字符串属性,使用前缀s。所以用户代码会喜欢这个。
$('#clientTable').DataTable({
bServerSide: true,
sAjaxSource: 'clientApiConstant',
columns: [
{ "data": "id",},
{ "data": "name" },
{ "data": "phone" },
{ "data": "mail" },
{ "data": "date" },
{ "data": "auto" }
]
});
小心上部下部字母套管。