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

Posted

技术标签:

【中文标题】DataTables 警告:无法解析来自服务器的 JSON 数据。这是由 JSON 格式错误引起的【英文标题】:DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error 【发布时间】:2012-01-09 23:20:12 【问题描述】:

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

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

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

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

有人有什么建议吗?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

在示例中也包含在大括号中:datatables.net/release-datatables/examples/data_sources/… 我不明白问题可能出在哪里,我用来测试的例子如下:datatables.net/development/server-side/php_postgres【参考方案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" 
        ]
    );

【讨论】:

我的处理程序返回:""aaData": ["propOne": "valueOne","propTwo": "valueTwo"], [...],... ",没有 \ 那是问题吗?或者我可以把 \ ? 是的,datatable 只接受双逗号,这个:'propOne': 'valueOne' 会报错。 DataTable 需要 "(double) 所以你需要用 \.【参考方案3】:

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

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

不知道你要找的答案是不是那个行人,但我想我会投入 2 美分!!

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

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

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

【讨论】:

以上是关于DataTables 警告:无法解析来自服务器的 JSON 数据。这是由 JSON 格式错误引起的的主要内容,如果未能解决你的问题,请参考以下文章

DataTables 警告:table id=example - 无法重新初始化 DataTable - jQuery

DataTables 警告:table id=DataTables_Table_1 - 无法重新初始化 DataTable。不工作

ajax datatable - DataTables警告:table id = example - 无法重新初始化DataTable

来自 Spark 的 Hive 查询 - 无法解析

DataTables 警告 - 请求第 0 行第 0 列的未知参数“0”

将 DataTables 与 colspan 一起使用时无法读取未定义的属性“mData”