数据表警告:无法解析来自服务器的JSON数据.这是由JSON格式错误引起的


DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error

我在一个项目中使用服务器端数据表

并进行搜索,显示以下错误消息:

DataTables warning: JSON data from server not could be parsed. This is Caused by a JSON formatting error.

我在论坛上找到了一些建议,但没有什么对我有效

谁有什么建议?

检查firebug中的network选项卡,您可能会看到底层服务器错误

您的json不是数据表所期望的有效格式,即行/列2d数组。

[["row1col1","row1col2"],["row2col1"],.....]

我遇到了这个问题,它就像更新以下文件中的信息一样简单:

    "sAjaxSource": "DataTables/examples/server_side/scripts/server_processing.php"

不知道你想要的答案是不是那个行人,但我想我应该拿出我的2美分!!

如果您使用:

"sAjaxSource": "myHandler.php"

那么你必须从处理程序返回:

"{'"aaData'": [{'"propOne'": '"valueOne'"},{'"propTwo'": '"valueTwo'"}], [...],... }"

注意

'"aaData'":

json集合前和注括号:

{'"aaData'"....}

我的例子在asp.net(这是工作):

Response.Write("{'"aaData'": [{'"propOne'": '"valueOne'"},{'"propTwo'": '"valueTwo'"}]}");

客户端页面:

      oTable = $('#myTable').dataTable( {
        "bProcessing": true,
        "sPaginationType": "full_numbers",
        "aLengthMenu": [[5,10,20,50,100], [5,10,20,50,100]],
        "aaSorting": [[ 1, "desc" ]],
        "sAjaxSource": "MyHandler.ashx",
        "aoColumns": [
            { "mDataProp": "propOne" },
            { "mDataProp": "propTwo" }
        ]
    });

对于新版本的数据表,不要忘记从server_processing.php文件中删除这一行

/* REMOVE THIS LINE (it just includes my SQL connection user/pass) */
    include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );