数据表和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 。