不知何故,我从这段代码中得到了一个无效的json响应。我们的目标是在表中显示sql数据,所有功能都是搜索和排序https://datatables.net/. 问题出在哪里?
获取.php
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
$query ="SELECT * FROM users";
$result = $mysqli->query($query);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$results = ["sEcho" => 1,
"iTotalRecords" => count($row),
"iTotalDisplayRecords" => count($row),
"aaData" => $row ];
echo json_encode($results, JSON_PRETTY_PRINT);
}
} else {
echo "empty table";
}
$mysqli->close();
get.php响应
{
"sEcho": 1,
"iTotalRecords": 2,
"iTotalDisplayRecords": 2,
"aaData": {
"id": "26",
"name": "test",
"pass": "2"
}
}
js公司
$(document).ready(function() {
$('#my-example').dataTable({
"bProcessing": true,
"sAjaxSource": "get.php",
"aoColumns": [{
mData: 'name'
}, {
mData: 'pass'
}]
});
});
html格式
<script type="text/javascript" language="javascript" src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css">
<table id="my-example">
<thead>
<tr>
<th>name</th>
<th>pass</th>
</tr>
</thead>
</table>
1条答案
按热度按时间kqhtkvqz1#
您的php代码返回的数组应该是这样的,它有义务
data
作为你返回的数据error
作为最终的错误:所以在你的例子中,你的数组看起来是这样的:
在循环中,还需要使用
$row['column']
.测试用例