title: DataTables Cannot read property 'length' of undefined
body: <p>Below is the document ready function</p>
  
  <pre><code>Script type="text/javascript" charset="utf-8"&gt;
      $(document).ready(function () {
          $('#example').dataTable({
              "bProcessing": true,
              "bServerSide": true,
              "sAjaxSource": "GetUser.ashx",
              "sServerMethod": "POST",
              "sAjaxDataProp" : "",
              "aoColumnDefs": [ {
              "aTargets": [ 0 ],
              "mData": "download_link",
              "mRender": function ( data, type, full ) {
                 return '&lt;a href="/UserDetail.aspx?ID='+data+'"&gt;Detail&lt;/a&gt;';
               }
             } ],
              "aoColumns": [
                  { "mData": "LoginId" },
                  { "mData": "Name" },
                  { "mData": "CreatedDate" }
              ]
          });
  </code></pre>
  
  <p>Below is the respond from server (GetUser.ashx)</p>
  
  <pre><code>[
      {
          "UserId": "1",
          "LoginId": "white.smith",
          "Activated": "Y",
          "Name": "Test Account",
          "LastName": "Liu",
          "Email": "white.smith@logical.com",
          "CreatedDate": "1/21/2014 12:03:00 PM",
          "EntityState": "2",
          "EntityKey": "System.Data.EntityKey"
      },
  More Data...
  ]
  </code></pre>
  
  <p>Below is the html table where the data should be put</p>
  
  <pre><code>&lt;table cellpadding="0" cellspacing="0" border="0" class="display" id="example"&gt;
      &lt;thead&gt;
          &lt;tr&gt;
               &lt;th width="15%"&gt;User Detail&lt;/th&gt;
              &lt;th width="15%"&gt;LoginID&lt;/th&gt;
              &lt;th width="15%"&gt;Name&lt;/th&gt;
              &lt;th width="15%"&gt;Created Date&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td colspan="5" class="dataTables_empty"&gt;Loading data from server&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
      &lt;tfoot&gt;
          &lt;tr&gt;
               &lt;th width="15%"&gt;User Detail&lt;/th&gt;
              &lt;th width="15%"&gt;LoginID&lt;/th&gt;
              &lt;th width="15%"&gt;Name&lt;/th&gt;
              &lt;th width="15%"&gt;Created Date&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/tfoot&gt;
  &lt;/table&gt;
  </code></pre>
  
  <p>Expected result:</p>
  
  <p><img src="https://i.stack.imgur.com/17Cpy.png" alt="enter image description here"></p>
  
  <p>But I came across a problem:</p>
  
  <p>While the page is loading, there was an uncaught exception from the browser:</p>
  
  <pre><code>Cannot read property 'length' of undefined 
  </code></pre>
  
  <p>When I further check, it came from line 2037 of jquery.dataTables.js</p>
  
  <pre><code>var aData = _fnGetObjectDataFn( oSettings.sAjaxDataProp )( json );
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/4HTes.png" alt="enter image description here"></p>
  
  <p>I checked that the json was valid, but the "aData" was null, why this happen?</p>