我在一个项目中使用服务器端数据表
并进行搜索,显示以下错误消息:
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" );