router.get("/:page",function(req,res){
});
这段代码假如 这样访问http://127.0.0.1:3000/admin/list/1
万一用户直接http://127.0.0.1:3000/admin/list 不带参数
导致“Failed to lookup view "error" in views directory "e:\nodejs\myproject\views"”找不到模板
或者http://127.0.0.1:3000/admin/list/0 带上0 这样怎么处理啊?
怎么让它以上两种行为都自动跳转到http://127.0.0.1:3000/admin/list/1
推荐使用这样的路由
/**
* 访问:/admin/list
* 访问:/admin/list?page
* 访问:/admin/list?page=0
* 访问:/admin/list?page=a
* 访问:/admin/list?page="1"
*/
router.get("/list",function(req,res){
var page = req.query.page;
page = isNaN(page) || page == 0 ? 1 : page;
//渲染模板
});
这样就同时解决了/list、/list/0、/list/1的问题
router.get("/",function(req,res){
//这里默认第一页
res.render('list.html', {
...
});
});
router.get("/:page",function(req,res){
var page = req.params.page;
//上面的page做个基本的判断就好了
res.render('list.html', {
...
});
});