2016-04-08 13 views
0

Datatables kullanıyorum ve veri almak için bir AJAX isteği göndermek istiyorum.Datatables ve ajax veri formatlama?

My jQuery -

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

Im 'K', 'B', 'C' görmeyi bekleyen -

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

Bu veri ajax isteği döndürülen olduğunu etiket satırında kendi satırlarında.

enter image description here

My datatables olsa herhangi bir veri yüklemez? İşte bu inşa PHP (i do

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

-

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

olurdu -

Bu yüzden kendi dizideki her anahtar değer çiftini sarmak için gerekiyor anahtar değerlerini yukarıdaki gibi bir nesneye sarın) -

$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); 
+2

ajax işlevini aldıktan sonra veri tabanını başlat. .success function() {$ ('geçerli etiketler'). DataTable()} '. Ayrıca tablodaki aynı sayıda sütuna sahip olduğunuzdan emin olun;) –

+0

@Bruno bu işe yaramadı, teşekkürler. – Kieron606

+0

'columns.data' kullanıyor musunuz? (Https://datatables.net/examples/ajax/objects.html)? –

cevap

1

Geri döndürdüğünüz JSON biçimini değiştirin g gösterildiği gibi. Daha fazla bilgi için bkz. Data source types.

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

Başlatma seçeneklerinizi aşağıda gösterildiği gibi değiştirin. Kod ve tanıtım için bkz. this jsFiddle Bkz. ( ). .

+0

Sorun şu ki, ayrı satırlarda etiket adı altında K, B, C'ye ihtiyacım var. Ve Autofixes altındaki değerler. – Kieron606

+0

@ Kieron606, benim cevabımı –

+0

güncelleştirerek farklı ne emin değilim ama Tablo – Kieron606