如何使用koa-bodyparser在koa中获取查询字符串?

时间:2017-01-12 09:01:09

标签: javascript node.js express koa

app.js

var bodyParser = require('koa-bodyparser');

app.use(bodyParser());
app.use(route.get('/objects/', objects.all));

objects.js

module.exports.all = function * all(next) {
  this.body = yield objects.find({});
};

这适用于获取所有对象。但是我想通过查询参数来获取,类似于localhost:3000 / objects?city = Toronto如何在我的objects.js中使用“city = Toronto”?

1 个答案:

答案 0 :(得分:6)

您可以使用this.query访问所有查询参数。

例如,如果请求来自网址/objects?city=Toronto&color=green,您将获得以下内容:

function * routeHandler (next) {
  console.log(this.query.city) // 'Toronto'
  console.log(this.query.color) // 'green'
}

如果要访问整个查询字符串,可以改用this.querystring。您可以在docs

中详细了解相关信息

修改:使用Koa v2,您可以使用ctx.query代替this.query