我想对提要进行分页。前两个下一页是正常的,但是突然下一页跳成了21。是什么原因?怎样才能让下一页正常
{"total":"916","pages":92,"page":1,"next_page":2,"prev_page":false}{"total":"916","pages":92,"page ":"2","next_page":"21","prev_page":1}
Here is the example of code
function reload_qlook_feed () {
listing_refresh();
var template = document.getElementById('qlook-test-source').innerHTML;
var hbar = Handlebars.compile(template);
var html = hbar( data_qlook_feed.data);
document.getElementById('qlook-test-contents').innerHTML = html;
}
function listing_pagination(page) {
let pg = {};
pg.total = data_qlook_feed.data.total;
pg.pages = Math.ceil(pg.total / 10);
pg.page = (page !== false ? page : 1);
pg.next_page = (pg.page < pg.pages ? pg.page + 1 : false);
pg.prev_page = (pg.page > 1 ? 1 : false);
return pg;
}
function listing_pagination_update(page) {
let pg = listing_pagination(page);
let pg_text = document.getElementById('pagination-text');
let pg_next = document.getElementById('pagination-next-page');
let pg_prev = document.getElementById('pagination-prev-page');
console.log(JSON.stringify(pg));
pg_text.innerText = 'Page ' + pg.page + ' of ' + pg.pages;
if ( pg.next_page !== false) {
pg_next.setAttribute('onclick', 'listing_pagination_navigate(\'' + pg.next_page+'\');');
} else {
pg_next.removeAttribute('onclick');
}
if (pg.prev_page !== false) {
pg_prev.setAttribute('onclick', 'listing_pagination_navigate(\'' + +pg.prev_page + '\');');
} else {
pg_prev.removeAttribute('onclick');
}
}
function listing_pagination_navigate(page) {
listing_refresh(page);
console.log('Pagination ( Page: ' + page + ')');
}
function listing_refresh( page, page_size) {
page = (page !== undefined ? page : 1);
page_size = (page_size !== undefined ? page_size : 10);
_axios({
url: "/api/call-ext/19",
method: "POST",
data: {
data: {},
api: 'qlook-test?page=' + page + '&page_size=' + page_size
}
}).then(response => {
if (response.data.status == 403) {
console.log('HTTP 403: ' + JSON.stringify(response.data.data.message));
}
data_qlook_feed.data = response.data.data;
listing_pagination_update(page);
});
}
答案 0 :(得分:2)
它可能是字符串,您必须将其解析为 int
pg.next_page = (pg.page < pg.pages ? (parseInt(pg.page) + 1) : false);
它真的很容易调试,如果你记录了变量,你会更容易看到类型冲突