猿记录

一个记录、分享的博客

您的位置:主页 > 技术专栏 > node >

koa2 get与post参数传递

2018-08-17 16:15:45 作者:yxl 次阅读 node

get与post有三种传参方式

  1. 传统方式,通过“?=&”传递参数

  2. 通过路径传参

  3. post body传参

&传参

localhost:3000/home?id=3&user=me

通过 ctx.request.query 获取参数对象 
通过 ctx.request.querystring 获取参数字符串

router.get('/home', async(ctx, next) => {  console.log(ctx.request.query)  //对象  console.log(ctx.request.querystring)  //字符串
  ctx.response.body = '<h1>HOME page'+ctx.request.query.id +':'+ctx.request.query.user+'</h1>'})123456

结果


’ / ‘传参

localhost:3000/home/3/me

通过 ctx.params 获取参数对象

router.get('/home/:id/:user', async(ctx, next)=>{
  console.log(ctx.params)
  ctx.response.body = '<h1>HOME page '+ctx.params.id+':'+ctx.params.user+'</h1>'})1234

实例


post传参

post传值需要用到中间件 koa-bodyparser

koa-bodyparser使用

npm install koa-bodyparser

引用

const bodyParser = require('koa-bodyparser')const app = new Koa()
app.use(bodyParser())123

实例

通过ctx.request.body获取参数对象

router.get('/user', async(ctx, next)=>{
  ctx.response.body = 
  `
    <form action="/user/register" method="post">
      <input name="name" type="text" placeholder="请输入用户名:ikcamp"/> 
      <br/>
      <input name="password" type="text" placeholder="请输入密码:123456"/>
      <br/> 
      <button>GoGoGo</button>
    </form>
  `
})// 增加响应表单请求的路由router.post('/user/register',async(ctx, next)=>{  let {name, password} = ctx.request.body  if( name == 'ikcamp' && password == '123456' ){
    ctx.response.body = `Hello, ${name}!` 
  }else{
    ctx.response.body = '账号信息错误'
  }
})


凡本站注明“本站”或“投稿”的所有文章,版权均属于本站或投稿人,未经本站授权不得转载、摘编或利用其它方式使用上述作品。

编辑:yxl 关键词: koa2 koa
0

网友评论