Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JQuery Datatables : Cannot read property 'aDataSort' of undefined

I created this fiddle to and it works well as per my requirements: Fiddle

However, when I use the same in my application I get an error in the browser console saying Cannot read property 'aDataSort' of undefined

In my application, the javascript reads something like as below: I have checked the controller output...it works well and is printed on the console too.

$(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"         }]             });      }         }) 
like image 803
swateek Avatar asked Feb 11 '15 12:02

swateek


1 Answers

It's important that your THEAD not be empty in table.As dataTable requires you to specify the number of columns of the expected data . As per your data it should be

<table id="datatable">     <thead>         <tr>             <th>Subscriber ID</th>             <th>Install Location</th>             <th>Subscriber Name</th>             <th>some data</th>         </tr>     </thead> </table> 
like image 141
Gkrish Avatar answered Sep 18 '22 14:09

Gkrish