Para ampliar lo Kamal Singh profundo estaba diciendo:
Se puede crear dinámicamente la mesa sobre la marcha, a continuación, aplicar tablas de datos a ella para obtener la funcionalidad tablas de datos.
// up in the html
<table id="myDatatable" class="... whatever you need..."></table>
y luego:
// in the javascript, where you would ordinarily initialize the datatable
var newTable = '<thead><tr>'; // start building a new table contents
// then call the data using .ajax()
$.ajax({
url: "http://my.data.source.com",
data: {}, // data, if any, to send to server
success: function(data) {
// below use the first row to grab all the column names and set them in <th>s
$.each(data[0], function(key, value) {
newTable += "<th>" + key + "</th>";
});
newTable += "</tr></thead><tbody>";
// then load the data into the table
$.each(data, function(key, row) {
newTable += "<tr>";
$.each(row, function(key, fieldValue) {
newTable += "<td>" + fieldValue + "</td>";
});
newTable += "</tr>";
});
newTable += '<tbody>';
$('#myDatatable').html(newTable); // replace the guts of the datatable's table placeholder with the stuff we just created.
}
});
// Now that our table has been created, Datatables-ize it
$('#myDatatable').dataTable();
Nota se puede poner en la configuración que .dataTable() de forma normal sin embargo, no 'sAjaxSource', o cualquiera de las funciones de datos-que consigue asociados - esto es aplicando tablas de datos a una tabla ya existente, una que creamos sobre la marcha.
Ok, así que es una forma un poco hacky de hacerlo, pero debería funcionar.
Actualmente no existe un método integrado para hacer esto con datatables dinámicamente. Ver aquí: https://github.com/DataTables/DataTables/issues/273
¿Por qué no obtener los datos completos usando JSON y luego crea una tabla HTML que se puede mostrar al usuario – Moons
yo no entiendo muy bien lo que quiere decir con "mesa de crear HTML". Crear con Javascript? – mik
cuando obtiene el JSON, puede analizarlo con JSON.parse y luego puede iterar los objetos para crear una tabla HTML con JQuery – Moons