JQuery 数据表错误 "Cannot read property 'length' of undefined"

JQuery Datatable Error "Cannot read property 'length' of undefined"

我正在从我网站上名为 request.php.

的另一个 URL 获取数据表的数据

request.php:

$con = mysql_connect("xxxx", "xxxx", "xxxx");
$con or die(mysql_error());
mysql_select_db("xxxx") or die(mysql_error());

$result = mysql_query("SELECT * FROM users_logins") 
or die(mysql_error()); 

$resultArray = array();
$tempArray = array();

while($row = mysql_fetch_assoc($result))
{
    // Add each row into our results array
    $tempArray = $row;
    array_push($resultArray, $tempArray);
}

echo json_encode($resultArray);

mysql_close($con);

这是我的 HTML & JQuery 数据表。

table.html:

<head>
  <link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css">
</head>
<body>
 <table id="example" class="display" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>uEmail</th>
                <th>Time</th>
                <th>Location</th>
            </tr>
        </thead>


    </table>
  <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script>
  <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
  <script>


    $(document).ready(function() {
        $('#example').dataTable( {
                "sAjaxSource": "http://xxxx.net/request",
                "sAjaxDataProp": "data"
        } );
    } );
  </script>
</body>

手动访问request.php时,显示如下: [{"uEmail":"xxxx@gmail.com","time":"06-07-2015 7:55 pm","location":"xx.xx.xx.xxx"},{"uEmail":"xxxx@gmail.com","time":"06-07-2015 5:45 pm","location":"xx.xx.xx.xxx"}]

在控制台中,我收到此错误:Uncaught TypeError: Cannot read property 'length' of undefined

这是 DataTable 和控制台的屏幕截图。

根据 DataTables 1.9 文档,sAjaxDataProp 指定包含条目的 returned JSON 对象中的数组名称。 同时,DataTables 似乎接受条目作为数组,而不是对象。

您的 return 格式应该是:

{"data": [["xxxx@gmail.com","06-07-2015 7:55 pm","xx.xx.xx.xxx"],["xxxx@gmail.com","06-07-2015 5:45 pm","xx.xx.xx.xxx"]]}