数据表和ajax数据格式化?

我正在使用Datatables,我希望能够发送一个AJAX请求来获取我的数据。

我的jQuery –

$('.valid-tags').DataTable( { "ajax": { "url": "/ajax/getValidTags.php", "type": "POST", "data": { ruleID: ruleID } } } ); 

这是从ajax请求返回的数据 –

 {"data":["K":2,"B":1,"C":2]} 

我期待在他们自己的行中看到标签名下的’K’,’B’,’C’。

在此处输入图像描述

我的数据表虽然没有加载任何数据?

我需要能够将每个键值对包装在自己的数组中,这样 –

 {"data":["K":2,"B":1,"C":2]} 

将会 –

 {"data":[["K":2],["B":1],["C":2]]} 

这是构建它的PHP(我在哪里将键值包装在一个对象中,如上所述)? –

 $validTagsArray = array(); $validArray = array(); foreach ($cursor as $key => $value) { foreach ($value['AutoFix'] as $k => $v) { $x = 0; foreach ($v as $key => $value) { $x++; $validValueCount = $validTagsArray[$k] = $x; } } } $validArray['data'] = array($validTagsArray); echo json_encode($validArray); 

更改您返回的JSON的格式,如下所示。 有关更多信息,请参阅数据源类型 。

 { "data": [ [ "K", 2 ], [ "B", 1 ], [ "C", 2 ] ] } 

更改初始化选项,如下所示。

 $('.valid-tags').DataTable( { "ajax": { "url": "/ajax/getValidTags.php", "type": "POST", "data": { ruleID: ruleID } }, "columnDefs": [{ "targets": 2, "render": function(data, type, full, meta){ return ''; } }] } ); 

有关代码和演示,请参阅此jsFiddle 。