我正在尝试让DataTables.js (Server-side Processing)为我的自定义CMS工作,遗憾的是,默认的服务器端脚本没有返回任何结果。
当然,我已将数据库凭据输入其中,并在我的数据库中选择了现有的表。
我的apache日志中没有错误。
DataTables.js论坛中的这个人有完全相同的问题:
但显然他通过在服务器中安装PDO解决了这个问题。我验证了,我的服务器已经安装了PDO。
有什么想法吗?
修改
根据要求,这是我正在使用的代码。实际上它与那里的例子完全相同:https://datatables.net/examples/server_side/simple.html
HTML
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>First name</th>
<th>Last name</th>
<th>Position</th>
<th>Office</th>
</tr>
</thead>
<tfoot>
<tr>
<th>First name</th>
<th>Last name</th>
<th>Position</th>
<th>Office</th>
</tr>
</tfoot>
</table>
的JavaScript
$('#example').DataTable( {
"processing": true,
"serverSide": true,
"ajax": "/server_processing.php"
} );
PHP
<?php
/*
* DataTables example server-side processing script.
*
* Please note that this script is intentionally extremely simply to show how
* server-side processing can be implemented, and probably shouldn't be used as
* the basis for a large complex system. It is suitable for simple use cases as
* for learning.
*
* See http://datatables.net/usage/server-side for full details on the server-
* side processing requirements of DataTables.
*
* @license MIT - http://datatables.net/license_mit
*/
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables
*/
// DB table to use
$table = 'node';
// Table's primary key
$primaryKey = 'nid';
// 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' => 'nid', 'dt' => 0 ),
array( 'db' => 'type', 'dt' => 1 ),
array( 'db' => 'language', 'dt' => 2 ),
array( 'db' => 'title', 'dt' => 3 ),
);
// SQL server connection information
$sql_details = array(
'user' => '******',
'pass' => '******',
'db' => '******',
'host' => '******'
);
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* If you just want to use the basic configuration for DataTables with PHP
* server-side, there is no need to edit below this line.
*/
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
以下是我服务器中示例脚本的链接:
http://tests.krown.ch/examples/server_side/simple.html
修改2
我的服务器正在使用PDO:
我还查看了class_exists('PDO')
凭据很好,因为如果我更改它们,我会收到一些其他错误,告诉我凭据不好或找不到数据库。
我正在测试的数据库中的表是:
答案 0 :(得分:0)
看起来问题是你没有文件 COL_NAME
0 set(['xyz'])
1 set(['xyz'])
2 set(['mnq'])
。您必须使用此文件才能使服务器端处理正常工作。你可以从GIThub here获得它。
您可能需要根据所连接的内容对其进行修改,但根据您的问题,它可能会按原样运行。