J'ai un objet JSON local formaté comme ceci:
[{
"id": "58",
"country_code": "UK",
"title": "Legal Director",
"pubdate": "2012-03-08 00:00:00",
"url": "http://..."
},{
"id": "59",
"country_code": "UK",
"title": "Solutions Architect,",
"pubdate": "2012-02-23 00:00:00",
"url": "http://..."
},{
// ....more of the same......
}]
Je voudrais définir cela comme source de données pour un jQuery datatable et j'ai essayé ceci:
testdata = '{{ jobsJSON | raw }}'; //twig template tag
console.log(testdata);
$('#test').dataTable({
"aoData": testdata,
"aoColumns": [
{ "mDataProp": "id" },
{ "mDataProp": "country_code" },
{ "mDataProp": "title" },
{ "mDataProp": "pubdate" },
{ "mDataProp": "url" }
]
});
Le plugin DataTables se charge et tente de dessiner le tableau mais donne l'erreur "Aucune donnée disponible dans le tableau"
Je ne fais pas d'appel AJAX et je veux juste accéder à l'objet JSON à partir d'une variable JS locale.
La propriété pour fournir vos propres données est aaData
PAS aoData
:
testdata = [{"id":"58",...}]; // local object
$('#test').dataTable({
"aaData": testdata,
"aoColumns": [
{ "mDataProp": "id" },
{ "mDataProp": "country_code" },
{ "mDataProp": "title" },
{ "mDataProp": "pubdate" },
{ "mDataProp": "url" }
]
});
J'ai rencontré le même problème, la solution est comme ceci: Placer le code $('#list_table').dataTable
dans la fonction setTimeout
pour reporter l'application dataTable pendant 5 secondes:
setTimeout("$('#list_table').dataTable ...." , 5000);
J'ai remarqué qu'appliquer le plugin dataTable dans firebug après le chargement de la table, il n'affiche pas d'erreur comme "Aucune donnée disponible dans la table".