Koa 如何获取 Query 参数

routes/index.js

var router = require('koa-router')();

router.get('/', function *(next) {

console.log(this.request.query)

console.log(this.query)

yield this.render('index', {

title: 'Hello World Koa!'

});

});

module.exports = router;

访问 http://127.0.0.1:3000/?a=1

日志

  <-- GET /?a=1

{ a: '1' }

{ a: '1' }

和 express 里获取 query 的方法是一样的,req.query

koa 里是

  • this.request.query
  • this.query

这里需要说明以下 this 上下文上有 request 和 response 2 个对象,每次写起来又比较麻烦

于是把 request 和 response 上的方法也丢给 this,这样就相当于 this 上有了对应 request 和 response 里的方法的别名(简写方式)

别名列表

Request aliases

以下访问器和别名与 Request 等价:

  • ctx.header
  • ctx.method
  • ctx.method=
  • ctx.url
  • ctx.url=
  • ctx.originalUrl
  • ctx.path
  • ctx.path=
  • ctx.query
  • ctx.query=
  • ctx.querystring
  • ctx.querystring=
  • ctx.host
  • ctx.hostname
  • ctx.fresh
  • ctx.stale
  • ctx.socket
  • ctx.protocol
  • ctx.secure
  • ctx.ip
  • ctx.ips
  • ctx.subdomains
  • ctx.is()
  • ctx.accepts()
  • ctx.acceptsEncodings()
  • ctx.acceptsCharsets()
  • ctx.acceptsLanguages()
  • ctx.get()

Response aliases

以下访问器和别名与 Response 等价:

  • ctx.body
  • ctx.body=
  • ctx.status
  • ctx.status=
  • ctx.length=
  • ctx.length
  • ctx.type=
  • ctx.type
  • ctx.headerSent
  • ctx.redirect()
  • ctx.attachment()
  • ctx.set()
  • ctx.remove()
  • ctx.lastModified=
  • ctx.etag=

以上是 Koa 如何获取 Query 参数 的全部内容, 来源链接: utcz.com/z/264457.html

回到顶部