egg的controller里面怎么获取请求的参数啊
发布于 7 个月前 作者 FlyerJay 1520 次浏览 来自 问答

不管用this.ctx.body还是this.params都获取不到参数

15 回复

this.ctx.request 和 this.ctx.req里面也没有,是不是我什么地方配置有问题,

那看你是什么提交的了。如果是form表单提交的,就用ctx.request.body就取到了

@461534898 我就是用这个没取到。。。我也不知道为什么这么简单的东西我会遇到问题。。。

@461534898 好像是我的request里面没有body这个对象

@FlyerJay 你最好放个能重现的项目,一看代码就知道了~ 不然这样只靠猜,效率很低~

@FlyerJay ctx.request.body这个对象后面跟上你要取得那个字段名就OK啊

@461534898 我的这个对象是空的。。。

用this.ctx.query试试

来自酷炫的 CNodeMD

一般提问总要附上代码吧,给个截图怎么猜。。

  • ctx.body 是输出的,不是读取的,ctx.body = 'hi, egg';
  • ctx.request.body 是输入的 POST body
  • ctx.query 才是输入的查询参数 /news?page=12 -> ctx.query.page
  • ctx.param 是路由匹配的,来自于 koa-router,/users/:id -> ctx.param.id

上面这些其实都不属于 egg 的扩展了,就是 koa 的基础。建议再回去看看 koa 和 egg 的文档。 http://koajs.com/#request

@hwj128911 query是查询get参数的

@atian25 这个文档我也看过,可能是用法有点问题,已经解决了

@FlyerJay 什么问题? 解决了可以描述出来啊

@sandisen 自己开一个帖子去回复啊,不要到处影响别人

回到顶部