【发布时间】:2015-05-09 17:57:09
【问题描述】:
我尝试对 jQuery 数据表进行服务器处理,但出现错误:
DataTables 警告:表 id=DataTables_Table_0 - Ajax 错误
当我从 server.php 中删除以下代码时
require( '/machines/jquery/ssp.class.php' );
echo json_encode(
SSP::simple( $_POST, $sql_details, $table, $primaryKey, $columns )
);
然后得到错误:
DataTables 警告:表 id=DataTables_Table_0 - 无效的 JSON 响应
还要注意,之前的 require 是:require('ssp.class.php');根据https://datatables.net/examples/server_side/post.html,但我试图在我的 ubuntu 操作系统的整个 / 目录中找到 ssp.class.php 但没有这样的 php 文件,所以搜索谷歌并复制该文件并保存在 /machines/jquery/ssp.class.php但仍然没有运气。
我已经检查了所有的 php、pdp .. 设置并且它是正确的,所以代码中有问题,或者我的服务器不理解 jQuery 给出的服务器处理示例的方式。
客户端数据处理没有问题,但服务器端数据处理出现上述错误。
root@m100:~# php -i|grep PDO
PDO
PDO support => enabled
PDO drivers => mysql
PDO Driver for MySQL => enabled
client.php:
<div>
<h3>Machines Data</h3>
<div class="container">
<div id="machines-data" style="padding-left: 15px; padding-right: 15px;"></div>
<table class="table machines-data" border="1">
</table>
</div>
</div>
<script>
$(document).ready(function () {
});
<script>
$(function(){
$("#progress").show();
$(".machines-data").dataTable({
"processing": true,
"serverSide": true,
"ajax": { "url": "/machines/server.php", "type": "POST" },
"columns": [
{ "data": "id" },
{ "data": "ip" },
{ "data": "machine" },
{ "data": "action" },
]
});
})
</script>
server.php:
<?php
ignore_user_abort(true);
if($_POST) {
$table = '1_machine_data';
$primaryKey = 'id';
$columns = array(
array( 'db' => 'id', 'dt' => 'id' ),
array( 'db' => 'ip', 'dt' => 'ip' ),
array( 'db' => 'machine', 'dt' => 'machine' ),
array( 'db' => 'action', 'dt' => 'action' ),
);
$sql_details = array(
'user' => 'root',
'pass' => 'pass',
'db' => 'machine',
'host' => 'localhost'
);
require( '/machines/jquery/ssp.class.php' );
echo json_encode(
SSP::simple( $_POST, $sql_details, $table, $primaryKey, $columns )
);
exit (0);
}
?>
【问题讨论】:
-
更多,我收到 POST 的空响应:columns[0][data] id columns[0][name] columns[0][orderable] true columns[0][search][正则表达式]假列[0][搜索][值]列[0][可搜索]真列[1][数据]ip列[1][名称]列[1][可排序]真列[1][搜索][regex] false columns[1][search][value] columns[1][searchable] .... until [9] .........and last: true draw 1 length 10 order[0 ][column] 0 order[0][dir] asc search[regex] false search[value] start 0
-
更新:我收到了回复:datatables.net/development/server-side/php_mysql,但收到了 DataTables 警告:table id=DataTables_Table_0 - 请求第 0 行的未知参数“id”并进行调查。