1、获取参数值

//引入模块
var Koa = require('koa')
var router = require('koa-router')()  //引入和实例化路由

//实例化
var app = new Koa()

router.get('/', async (ctx)=>{
    ctx.body = '首页'
})
router.get('/news', async (ctx)=>{
    ctx.body = '新闻页面'
})
router.get('/news/newContent', async (ctx)=>{
    ctx.body = '新闻详情页面'
    console.log(ctx.request.url)

    //从上下文中(ctx)获取传值
    console.log(ctx.query)        //获取的是对象
    console.log(ctx.querystring)  //获取的是字符串

    //从ctx中的request里面获取传值
    console.log(ctx.request)
    console.log(ctx.request.query)        
    console.log(ctx.request.querystring) 
})

app
    .use(router.routes())  //启动路由
    .use(router.allowedMethods()) 

app.listen(3000)

2、动态路由

var Koa = require('koa')
var router = require('koa-router')()
var app = new Koa()

router.get('/', async (ctx)=>{
    ctx.body = '首页'
})
router.get('/news', async (ctx)=>{
    ctx.body = '新闻页面'
})

//动态路由
//页面:http://localhost:3000/news/newContent/123
router.get('/news/newContent/:aid', async (ctx)=>{
    ctx.body = '新闻详情页面1'
    console.log(ctx.params)  //获取动态路由的传值
})
//页面:http://localhost:3000/news/newContent/123/456
router.get('/news/newContent/:aid/:cid', async (ctx)=>{
    ctx.body = '新闻详情页面2'
    console.log(ctx.params) 
})

app
    .use(router.routes())  //启动路由
    .use(router.allowedMethods()) 

app.listen(3000)

 

posted on 2021-06-21 22:24  李起桉  阅读(108)  评论(0编辑  收藏  举报