我怎样才能使分页工作?

时间:2021-05-29 01:39:20

标签: javascript

我想对提要进行分页。前两个下一页是正常的,但是突然下一页跳成了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);
  });
}

1 个答案:

答案 0 :(得分:2)

它可能是字符串,您必须将其解析为 int

pg.next_page = (pg.page < pg.pages ? (parseInt(pg.page) + 1) : false);

它真的很容易调试,如果你记录了变量,你会更容易看到类型冲突