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

时间:2011-11-30 18:09:25

标签: php jquery json jquery-datatables

我在项目中使用服务器端DataTable

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

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

我在论坛中找到了一些建议,但没有任何对我有用

有人有任何建议吗?

5 个答案:

答案 0 :(得分:2)

检查firebug中的网络选项卡,您可能会看到基础服务器错误

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

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

不知道你所寻找的答案是否是行人,但我想我会投入2美分!!

答案 3 :(得分:0)

如果您正在使用:

"sAjaxSource": "myHandler.php"

然后你从你的经纪人那里回来:

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

请注意

\"aaData\":
在json收集之前的

并注意brakects:

{\"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" }
        ]
    });

答案 4 :(得分:0)

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

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