это мой первый вопрос на stackoverflow.com:
Я нашел много ответов здесь в прошлом, но теперь у меня есть проблема, которую я не могу решить:
У меня есть проект, в котором я использую плагин DataTables jquery для отображения некоторых данных из простой базы данных SQL.
Все работало нормально, но в базе уже около 18 тыс. Записей, поэтому это было очень медленно. Я пытаюсь заставить работать ajax и обработку на стороне сервера, но всегда получаю сообщение об ошибке:
«Предупреждение DataTables: table id = tbl_portfolio - Неверный ответ JSON. Для получения дополнительной информации об этой ошибке см. http://datatables.net/tn/1"
Я проверил ссылку, но не получил ответа, поэтому не могу отладить таким образом.
Я много читал и пробовал разные вещи, но ничего не получается.
Может быть стоит сказать, что DataTables работает в дочерней теме Wordpress.
HTML-код:
<table id="tbl_portfolio" class="display nowrap" style="width:100%">
<thead>
<tr>
<th>URL</th>
<th>Themen</th>
<th>Keywords</th>
<th>Land</th>
<th>Kennzeichnung</th>
<th>Linkart</th>
<th>Ek Preis</th>
<th>Text inkl.</th>
<th>Text Preis</th>
<th>End Preis</th>
<th>Anmerkungen</th>
<th>Firma</th>
<th>Anrede</th>
<th>Vorname</th>
<th>Nachname</th>
<th>Strasse</th>
<th>Adresszusatz</th>
<th>PLZ</th>
<th>Ort</th>
<th>Land</th>
<th>eMail</th>
<th>Telefon</th>
</tr>
</thead>
<tfoot>
<tr>
<th>URL</th>
<th>Themen</th>
<th>Keywords</th>
<th>Land</th>
<th>Kennzeichnung</th>
<th>Linkart</th>
<th>Ek Preis</th>
<th>Text inkl.</th>
<th>Text Preis</th>
<th>End Preis</th>
<th>Anmerkungen</th>
<th>Firma</th>
<th>Anrede</th>
<th>Vorname</th>
<th>Nachname</th>
<th>Strasse</th>
<th>Adresszusatz</th>
<th>PLZ</th>
<th>Ort</th>
<th>Land</th>
<th>eMail</th>
<th>Telefon</th>
</tr>
</tfoot>
Это часть JavaScript:
// DB table to use
$table = 'portfolio_test';
// Table's primary key
$primaryKey = 'id';
// Array of database columns which should be read and sent back to DataTables.
// The `db` parameter represents the column name in the database, while the `dt`
// parameter represents the DataTables column identifier. In this case simple
// indexes
$columns = array(
array( 'db' => 'url', 'dt' => 0 ),
array( 'db' => 'themen', 'dt' => 1 ),
array( 'db' => 'keywords', 'dt' => 2 ),
array( 'db' => 'location', 'dt' => 3 ),
array( 'db' => 'kennzeichnung', 'dt' => 4 ),
array( 'db' => 'link_art', 'dt' => 5 ),
array( 'db' => 'preis_platz', 'dt' => 6 ),
array( 'db' => 'text_inkl', 'dt' => 7 ),
array( 'db' => 'preis_text', 'dt' => 8 ),
array( 'db' => 'preis_ek', 'dt' => 9 ),
array( 'db' => 'details', 'dt' => 10 ),
array( 'db' => 'firma', 'dt' => 11 ),
array( 'db' => 'anrede', 'dt' => 12 ),
array( 'db' => 'vorname', 'dt' => 13 ),
array( 'db' => 'nachname', 'dt' => 14 ),
array( 'db' => 'strasse', 'dt' => 15 ),
array( 'db' => 'adresszusatz', 'dt' => 16 ),
array( 'db' => 'plz', 'dt' => 17 ),
array( 'db' => 'ort', 'dt' => 18 ),
array( 'db' => 'land', 'dt' => 19 ),
array( 'db' => 'email', 'dt' => 20 ),
array( 'db' => 'telefon', 'dt' => 21 )
);
// SQL server connection information
$sql_details = array(
'user' => 'db_adm',
'pass' => '',
'db' => 'seo_metrics',
'host' => 'localhost:3306'
);
require 'ssp.class.php';
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
Я использую стандартный файл ssp.class.php из https://github.com/DataTables/DataTablesSrc/blob/master/examples/server_side/scripts/ssp.class.php
Возможно, я исправил некоторые новые ошибки при тестировании разных вещей, но я надеюсь, что некоторые из вас могут найти проблему!
Спасибо, ребята!
Изображение из сети консоли разработчика: пустой ответ: