Javascript 膝关节炎路由器:如何获取查询字符串参数?
我用的是koa路由器 如何获取请求的查询字符串参数 这是我写得最好的一篇:Javascript 膝关节炎路由器:如何获取查询字符串参数?,javascript,node.js,query-string,koa,koa-router,Javascript,Node.js,Query String,Koa,Koa Router,我用的是koa路由器 如何获取请求的查询字符串参数 这是我写得最好的一篇: import koaRouter from 'koa-router'; const router = koaRouter({ prefix: '/courses' }); router.get('/', async (ctx) => { console.log(ctx.qs["lecturer"]); }); 但是qs未定义 我们将非常感谢您的帮助 根据文档,应该有一个ctx.requ
import koaRouter from 'koa-router';
const router = koaRouter({ prefix: '/courses' });
router.get('/', async (ctx) => {
console.log(ctx.qs["lecturer"]);
});
但是qs
未定义
我们将非常感谢您的帮助 根据文档,应该有一个
ctx.request.query
,即表示为对象的查询字符串项。您可以使用ctx.query
(或长手ctx.request.query
)
app.use((ctx)=>console.log(ctx.query))
ctx.request.query未定义,尽管ctx.request.url是'/api/courses?讲师=John_Smith'@Alon您如何将路由器安装到应用程序上?我不知道发生了什么变化,但突然间ctx.request.query开始工作了。ctx.params就是现在的样子,而不是query。@JosephAstrahan您需要重新查看您的编辑和注释。这是相当误导性的评论和编辑@科里·罗宾逊是对的。它应该是ctx.query
,它来自koa
,其中koa路由器
只是随请求一起传递。如果OP只要求“url参数”,那么您是对的,但问题是关于“查询字符串”参数。不一样。有趣的是,我的WebStorm在调试程序中的ctx检查中没有显示这样的属性“ctx.query”,但在直接访问中它确实起作用。@dzenly这是因为它实际上是一个快捷方式(getter),实际路径是ctx.request.query