我正在使用jquery DataTable 1.10.13。我正在将数据显示为服务器端处理。目前我的数据表在底部显示正确的分页编号,但所有数据显示4所有分页页面。 [分页显示4页。但是所有4个页面加载相同的数据加载。]
我在教程上看到他们从模型传递一个名为'draw'的变量。我怎么能得到它?
下面是我的代码
$('#userTable').DataTable( {
"processing": true,
"serverSide": true,
"ajax": {
"type": "GET",
"url": ",
"dataSrc": "data",
"contentType": "application/json; charset=utf-8",
"dataType": "json",
"processData": true
},
"columns": [
{ "data": "id" },
{ "data": "email" },
{ "data": "company" },
]
} );
这是我的控制器
public function getUserList1()
{
$data = $this->user->getUserListData();
echo json_encode($data);
}
下面是我的模特。
public function getUserListData()
{
$sql = 'SELECT * FROM users ORDER BY regdate DESC';
$query = prepare($sql);
try {
$query->execute($params);
$data = $query->fetchAll();
$total = $query->rowCount();
} catch (PDOException $e) {
\debug::error('MySQL errno ' . $e->getCode() . ': "' . $e->getMessage() . '" when executing: ' . $query->queryString);
}
$response = array(
"draw" => '',
"recordsTotal" => $total,
"recordsFiltered" => $total,
"data" => $users
);
return $response;
如何获得“draw”的价值=> ?
答案 0 :(得分:0)
除非您从JSON字符串中解码请求参数,否则请删除以下选项:
"contentType": "application/json; charset=utf-8",
此外,您还没有正确执行服务器端处理。您需要使用jQuery DataTables发行版中提供的ssp.class.php
帮助程序或切换到客户端处理模式。
要切换到客户端处理模式,请在JavaScript代码中删除以下选项:
"processing": true,
"serverSide": true,
在PHP代码中,只需按如下方式返回数据:
$response = array(
"data" => $data
);
此外,您的数据位于$data
而不是$users
。