JQuery Datatables: no se puede leer la propiedad 'aDataSort' de undefined

Creé este violín y funciona bien según mis requisitos: Fiddle

Sin embargo, cuando uso el mismo en mi aplicación , aparece un error en la console del browser que dice No se puede leer la propiedad 'aDataSort' de undefined

En mi aplicación, el javascript dice algo como el siguiente: He comprobado la salida del controller … funciona bien y también está impreso en la console.

$(document).ready(function() { $.getJSON("three.htm", function(data) { // console.log("loadDataTable >> "+JSON.stringify(data)); }) .fail(function( jqxhr, textStatus, error ) { var err = textStatus + ', ' + error; alert(err); console.log( "Request Failed: " + err); }) .success(function(data){ loadDataTable(data); }); function loadDataTable(data){ $("#recentSubscribers").dataTable().fnDestroy(); var oTable = $('#recentSubscribers').dataTable({ "aaData" : JSON.parse(data.subscribers), "processing": true, "bPaginate": false, "bFilter": false, "bSort": false, "bInfo": false, "aoColumnDefs": [{ "sTitle": "Subscriber ID", "aTargets": [0] }, { "sTitle": "Install Location", "aTargets": [1] }, { "sTitle": "Subscriber Name", "aTargets": [2] }, { "aTargets": [0], "mRender": function (data, type, full) { return '<a style="text-decoration:none;" href="#" class="abc">' + data + '</a>'; } }], "aoColumns": [{ "mData": "code" }, { "mData": "acctNum" }, { "mData": "name" }] }); } }) 

Es importante que su THEAD no esté vacío en la tabla. Como dataTable requiere que especifique el número de columnas de los datos esperados. Según sus datos, debería ser

 <table id="datatable"> <thead> <tr> <th>Subscriber ID</th> <th>Install Location</th> <th>Subscriber Name</th> <th>some data</th> </tr> </thead> </table> 

También tuve este problema, esta matriz estaba fuera de range:

 order: [1, 'asc'], 

También tengo este problema, los siguientes cambios resolvieron mi problema.

 $(document).ready(function() { $('.datatable').dataTable( { bSort: false, aoColumns: [ { sWidth: "45%" }, { sWidth: "45%" }, { sWidth: "10%", bSearchable: false, bSortable: false } ], "scrollY": "200px", "scrollCollapse": true, "info": true, "paging": true } ); } ); 

la matriz aoColumns describe el ancho de cada columna y sus properties sortable .