Я использую серверные DataTables в проекте
и выполните поиск, покажет следующее сообщение об ошибке:
DataTables warning: JSON data from server not could be parsed. This is Caused by a JSON formatting error.
Я нашел некоторые предложения на форумах, но ничего не сработало для меня
У кого-нибудь есть предложения?
проверьте вкладку сети в firebug, вы, вероятно, увидите ошибку основного сервера
Вы json не в допустимом формате, который ожидает datatables, что является массивом row / column 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" } ] });
Для более новых версий datatables не забудьте удалить эту строку из файла server_processing.php
/* REMOVE THIS LINE (it just includes my SQL connection user/pass) */ include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );