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这样写即可

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