node + mysql 分頁請求列表數據

// 獲取列表數據 帶分頁

app.get('/user', (req, res) => {

// 獲取分頁參數,當前頁碼和每頁數據量,沒有的話給默認值
  let curPage = req.query.curPage? req.query.curPage: 1
  let pageSize = req.query.pageSize? req.query.pageSize: 10

// limit N,M : 相當於 limit M offset N , 從第 N 條記錄開始, 返回 M 條記錄
  // 分頁需要兩次請求,第一次不帶分頁條件,查到總數據條數;第二次帶分頁條件,查到分頁數據
  connection.query('SELECT * FROM ' + userTable, (error, data) => {
    if(error) {
      throw error
    } else {
      connection.query('SELECT * FROM ' + userTable + ' LIMIT ' + ((curPage - 1) * pageSize) + ',' + pageSize, (err, result) => {
        if(err) {
          throw err
        } else {
          res.status(200)
          res.json({
            curPage: curPage,
            pageSize: pageSize,
            total: data.length,
            list: result,
            totalPages: Math.ceil(result.length / pageSize)
          })
        }
      })
    }
  })
})

ajax等前端請求時,url: 'http://localhost:3600/user?curPage=2&pageSize=10'url這樣寫即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章