php代码
<?php
//include "db_connect.php";
$db = new MySQLi("localhost", "root", "password", "paginate");
$db->set_charset('utf8mb4');
header('Content-type: application/json;charset=utf-8');
$total = 0; // 表格数据总行数
$per_page = 6; // 每页行数
$current_page = 1; // 当前显示第几页
$total_pages = 0; // 总页数
// 获取当前页数
if (!empty($_GET['current_page'])) {
$current_page = $_GET['current_page'];
}
// 获取表格数据总行数
$query1 = 'select count(*) from user';
$row1 = $db->query($query1);
if ($row1 && $rowd = $row1->fetch_row()) {
$total = $rowd[0];
}
// 获取总页数
$total_pages = ceil($total / $per_page);
// 分页
$pre = ($current_page - 1) * $per_page;
$query2 = "select * from user limit $pre,$per_page";
$rows = $db->query($query2);
$arr = [];
if($rows) {
$arr = $rows->fetch_all(MYSQLI_ASSOC);
}
$pagination = [
'total' => $total,
'per_page' => $per_page,
'current_page' => $current_page,
'total_pages' => $total_pages
];
array_push($arr, $pagination);
echo json_encode($arr, true);
postman截图:
js代码:
window.onload = function () {
getData(1);
}
function addURLParam(url, name, value) {
url += (url.indexOf("?") == -1 ? "?" : "&");
url += encodeURIComponent(name) + "=" + encodeURIComponent(value);
return url;
}
function getData(page) {
var data = document.getElementById("data");
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var jsonText = xhr.responseText;
console.log(JSON.parse(jsonText));
}
}
var url = "paginate.php";
url = addURLParam(url, "current_page", "page");
xhr.open("get", url, true);
xhr.send();
}
chrome console前面的数据库的内容均没有
应该是
$query2 = "select * from user limit $pre,$per_page";
$rows = $db->query($query2);
$arr = [];
if($rows) {
$arr = $rows->fetch_all(MYSQLI_ASSOC);
}
这里的sql出了问题,因为没加if($rows)之前会有错,然而我很奇怪为什么php可以正常运行,php版本是7.0.8
Ini adalah masalah bahawa js tidak menghantar parameter dengan betul ke dalam addURLParam()
ditukar kepada
Memang memalukan untuk mengatakan bahawa saya menemui pepijat ini selepas saya menyiarkan soalan itu sekali, tetapi sekolah mengalami gangguan bekalan elektrik dan komputer kehabisan kuasa, jadi saya tidak dapat mengujinya. . . . . .
Tetapi perkara penting ialah saya menambah kaedah addURLParam terakhir
addURLParam() ialah kaedah dalam pengaturcaraan lanjutan js, katanya