Javascript Jquery DataTables服务器端语法错误:意外标记<;

Javascript Jquery DataTables服务器端语法错误:意外标记<;,javascript,jquery,datatable,datatables,server-side,Javascript,Jquery,Datatable,Datatables,Server Side,我是JS新手,尝试在服务器端设置datatables。遵循他们的文档。我得到以下错误: SyntaxError:意外的令牌Datatable服务器端脚本需要$primary\u键。我在您的代码中看不到这一点。数据表服务器端脚本需要$primary\u键。我在你的代码中看不到这一点。该错误意味着你的ajax.php文件返回的是HTML而不是JSON,很可能是404或500错误。检查控制台中的请求以查看准确的响应。谢谢@Rorymcrossan,它向我显示了所有错误:)@Rorymcrossan,你

我是JS新手,尝试在服务器端设置datatables。遵循他们的文档。我得到以下错误:


SyntaxError:意外的令牌Datatable服务器端脚本需要
$primary\u键
。我在您的代码中看不到这一点。

数据表服务器端脚本需要
$primary\u键。我在你的代码中看不到这一点。

该错误意味着你的
ajax.php
文件返回的是HTML而不是JSON,很可能是404或500错误。检查控制台中的请求以查看准确的响应。谢谢@Rorymcrossan,它向我显示了所有错误:)@Rorymcrossan,你能帮我解决错误吗。我已经用控制台日志更新了我的问题。也请把你的上述评论作为答案,以便我可以接受它。再次感谢。该错误意味着您的
ajax.php
文件返回的是HTML而不是JSON,很可能是404或500错误。检查控制台中的请求以查看准确的响应。谢谢@Rorymcrossan,它向我显示了所有错误:)@Rorymcrossan,你能帮我解决错误吗。我已经用控制台日志更新了我的问题。也请把你的上述评论作为答案,以便我可以接受它。再次感谢。
$(document).ready(function() {
    var oTable = $('#dataTables-example').dataTable({
        "bServerSide": true,
        "bProcessing": true,
        "bJQueryUI": true,
        "sAjaxSource": "ajax.php",
        "fnServerData": function(sSource, aoData, fnCallback) {
            /* Add some data to send to the source, and send as 'POST' */
            aoData.push({
                "name": "min",
                "value": $('#min').val()
            });
            aoData.push({
                "name": "max",
                "value": $('#max').val()
            });
            $.ajax({
                "dataType": 'json',
                "type": "GET",
                "url": "ajax.php",
                "data": aoData,
                "success": fnCallback,
                "timeout": 15000, // optional if you want to handle timeouts (which you should)
                "error": handleAjaxError // this sets up jQuery to give me errors
            });
        }
    });
    $('#min').change(function() {
        oTable.fnFilter($(this).val(), 0);
    });
    $('#max').change(function() {
        oTable.fnFilter($(this).val(), 0);
    });
});

function handleAjaxError(xhr, textStatus, error) {
    if (textStatus === 'timeout') {
        alert('The server took too long to send the data.');
    } else {
        alert(error);
    }
}
<?php
    $table = 'tbl_test';

    $columns = array(
        'DS',
        'PUR',
        'RegDate',
        'ACTDATE',
        'BUSINESS NAME', 
        'CITY'      
    );

    $sql_details = array(
        'user' => 'root',
        'pass' => '',
        'db'   => 'samarty',
        'host' => 'localhost'
    );

    require( 'ssp.class.php' );

    echo json_encode(
        SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
    );
?>
 jquery.dataTables.min.js:39 Uncaught TypeError: Cannot read property    'length' of undefinedvb @ jquery.dataTables.min.js:39

 (anonymous function) @ jquery.dataTables.min.js:37i @ jquery.dataTables.min.js:35j @ jquery.js:3094k.fireWith @ jquery.js:3206x @ jquery.js:8259(anonymous function) @ jquery.js:8600