#jquery #json #datatables
#jquery #json #таблицы данных
Вопрос:
У меня проблема с таблицами данных jQuery, которые не отображают никаких результатов. У меня есть действительный JSON, и я использую Laravel 5.2 с пакетом Yajra DataTables.
Я продолжаю получать это сообщение:
‘Предупреждение о таблицах данных: идентификатор таблицы = запрошенный пользователями неизвестный параметр ‘firstname’ для строки 0, столбца 0. Для получения дополнительной информации об этой ошибке, пожалуйста, смотрите http://datatables.net/tn/4 ‘
Мой код: JS
$('#users').DataTable( {
"processing": true,
"ajax": "clients/json",
"columns": [
{ "data": 'firstname' }
]
});
HTML
<table id="users" class="table table-hover table-condensed">
<thead>
<tr>
<th>Firstname</th>
</tr>
</thead>
</table>
Данные JSON выглядят следующим образом :
{"draw":0,"recordsTotal":7,"recordsFiltered":7,"data":[{""uniqueid"":"57cea728a724c",""firstname"":"ken",""lastname"":"ertert ",""telephone"":"",""mobile"":"",""postcode"":"",""email"":"ken@koodoocreative.co.uk",""tems"":1,""children"":{""3"":{""first_name"":"tertyreter",""last_name"":"etywert "}}},{""uniqueid"":"57c69f469b1fb",""firstname"":"bryan",""lastname"":"johnson ",""telephone"":"03454345324",""mobile"":"03453523452",""postcode"":"sr690k",""email"":"bryan@koodoocreative.co.uk",""tems"":1,""children"":{""4"":{""first_name"":"zak",""last_name"":"johnson "},""5"":{""first_name"":"sue",""last_name"":"johnson "}}},{""uniqueid"":"57cd426ed8414",""firstname"":"not",""lastname"":"paying ",""telephone"":"",""mobile"":"",""postcode"":"r55rwefe",""email"":"not@koodoocreative.co.uk",""tems"":1,""children"":{""2"":{""first_name"":"cant",""last_name"":"affordit "}}},{""uniqueid"":"57ce97a188f6f",""firstname"":"barry",""lastname"":"sdf ",""telephone"":"",""mobile"":"",""postcode"":"",""email"":"barry@koodoocreative.com",""tems"":null,""children"":{""1"":{""first_name"":"wherareU",""last_name"":" "}}},{""uniqueid"":"57f3a5f56539d",""firstname"":"bob",""lastname"":"smith ",""telephone"":"",""mobile"":"",""postcode"":"",""email"":"bob@koodoocreative.co.uk",""tems"":null,""children"":{""8"":{""first_name"":"claire",""last_name"":"smith"}}},{""uniqueid"":"57cd410b0a601",""firstname"":"keey",""lastname"":"smith ",""telephone"":"01928272623",""mobile"":"07836736534",""postcode"":"ts34 y78",""email"":"michael@koodoocreative.co.uk",""tems"":1,""children"":{""7"":{""first_name"":"blake",""last_name"":"smith "}}},{""uniqueid"":"57d29c2f72883",""firstname"":"test",""lastname"":"waiti ",""telephone"":"",""mobile"":"",""postcode"":"",""email"":"test@koodoocreative.co.uk",""tems"":null,""children"":{""6"":{""first_name"":"dunni",""last_name"":"sdf "}}}],"input":{"_":"1476088895989"}}
Ответ №1:
По какой-то причине ваши имена полей JSON содержат двойные кавычки. Также вы используете режим обработки на стороне сервера с таблицами данных Yajra, но отсутствует serverSide: true
опция на стороне клиента.
Код, соответствующий вашим данным, должен был быть:
$("#users").DataTable( {
"processing": true,
"serverSide": true,
"ajax": "clients/json",
"columns": [
{ "data": '"firstname"' }
]
});
Однако где-то в вашем PHP-коде вы устанавливаете имена столбцов с дополнительными двойными кавычками, это должно было быть просто { "data": "firstname" }
на стороне клиента, если бы вы могли найти и удалить дополнительные двойные кавычки.