“我能够看到服务器端ajax结果,但是我在屏幕上收到JS错误。
结果中没有空值。
但是,抛出了下面提到的错误。
DataTables警告:表id = summaryResults1-请求第0行第0列的未知参数'workCategory'。有关此错误的更多信息,请参见http://datatables.net/tn/4“
summaryTable = $('#summaryResults1').DataTable( {
data: tableResultsAjax,
serverSide: true,
ajax: {
dataSrc: function (json) {
return json.data;
},
"data": function(){
var info = $('#summaryResults1').DataTable().page.info();
$('#summaryResults1').DataTable().ajax.url(
url_ajax+"&bucketCounter="+(info.page+1)
);
}
},
paging:true,
pageLength:500,
scrollX:true,
scrollCollapse: true,
ordering: false,
"scrollY": 1000,
"lengthChange": false,
"searching": false,
"deferRender":true,
"columns": [
{ "data": "workCategory" },
{ "data": "queue" },
....
],
columnDefs : [ {
"targets" : [ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ],
"render" : function(data, type, row,meta) {
if (type === "display" ) {
param = 20-meta.col;
return drilldownViewCheck?data:"<a id = 'aa' href=\"javascript:passAJAXValues('" + row.queue.code + "','" + row.task.code + "','P"+param+"','"+ row.office.code + "')\"style=\"color:#FFF;\">" + data + "</a>";
}
}
},
....
],
fixedColumns:{
leftColumns:6
}
} );
});
一行的服务器端响应为
{“ recordsFiltered”:750,“ data”:“ [{....,\” workCategory \“:\”工作类别\“,....,\” queue \“:\”队列名称\“}]”,“绘制”:2,“ recordsTotal”:750}
答案 0 :(得分:1)
Technical note #4精确地指出了问题:
这将表明使用
columns.data
的列已被 无法获取有效数据以显示-例如:{ data: 'Name' }
如果该行的数据源对象没有
Name
,将产生此错误 参数或数据为null
或undefined
。
您从服务器端脚本返回的响应很可能没有workCategory
属性。
在您的响应中,您的data
属性在服务器上两次被编码为JSON格式,这就是DataTables找不到任何数据的原因,因为data
是一个字符串,应该是数组。