app入口
//express创建web服务器
const express = require('express');
const user = require('./routes/user.js');
const product = require('./routes/product.js');
const bodyParser = require('body-parser');
var app = express();
app.listen(3000);
//托管静态资源到public目录下
app.use(express.static('public'));
//使用body中间件
app.use(bodyParser.urlencoded({extended:false}));
//使用路由器来管理路由
//把user路由器挂载到/user下
app.use('/user',user)
//把product路由器挂载到/product下
app.use('/product',product);
html的写法
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>商品列表</title>
</head>
<body>
<form action="/product/list" method="get">
<h3>商品列表</h3>
页数:<input type="text" name="pno"><br>
每页大小:<input type="text" name="pageSize"><br>
<input type="submit">
</form>
</body>
</html>
搭建路由器
//引入express
const express = require('express');
//引入express连接池对象
const pool = require('../pool.js');
//使用express下的路由功能
var router = express.Router();
router.get('/list',(req,res)=>{
//1.验证pno和page的值
//获取页数,如果页数为空,默认值为1
var $pno = req.query.pno;
if(!$pno){
$pno = 1;
};
//获取每页大小,如果每页大小为空,默认值为10
//否则将用户输入的值转换成整型
var $pageSize = req.query.pageSize;
if(!$pageSize){
$pageSize = 10;
}else{
//传入过来的值是字符串
//①不允许输入小数
//②在表单中,输入的值传递到服务器,得到的值字符串类型
$pageSize = paresInt($pageSize)
};
//开始 = (当前页码-1)*每页大小 (pno-1)*pageSize
//每页大小
var sql = `SELECT * FROM xz_laptop ORDER BY lid ASC LIMIT ?,?`;
pool.query(sql,[($pno-1)*$pageSize/*转换成为了Number类型*/,$pageSize],(err,result)=>{
if(err) throw err;
res.send(result);
});
});
module.exports = router;
//第一个参数= ($pno - 1)*$pageSize