首页 > 初学nodejs,请问带参数的路由怎么处理防止没参数访问?

初学nodejs,请问带参数的路由怎么处理防止没参数访问?

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', {
        ...
    }); 
});
【热门文章】
【热门文章】