首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Express Node.js上获取这个主要参数

问如何在Express Node.js上获取这个主要参数
EN

Stack Overflow用户
提问于 2021-02-23 17:22:28
回答 1查看 48关注 0票数 0

在Express Node.js上,我有这样的代码:

代码语言:javascript
复制
const express = require("express");
const app = express();
const testController = require("./Controllers/TestController");

app.use("/:isoLang/test", testController(router));

如何从isoLang中获取TestController.js参数的值?

PS:

  • 这种资源帮不了我:Routage Express.js
  • 对不起,如果这个问题已经问过了,但我没有发现类似的问题
  • 在TestController.js中,我尝试过const isoLang = request.params.isoLang;,但它是未定义的
  • 我已经检查了整个request对象(来自TestController.js),但它不包含isoLang

更新:

如下所示,解决方案是将路由器设置为:express.Router({ mergeParams: true })

希望它能帮到别人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-23 17:56:36

似乎您需要将{ mergeParams: true }传递给您的路由器控制器,这样您就可以通过req.params访问所有

代码语言:javascript
复制
const express = require('express');
const app = express();

const controllers = (router) => {
  router.get("/:param2/", (req, res) => {
    console.log(req.params);
    res.send('ok')
  })

  return router;
};

app.use("/:isoLang/test", controllers(express.Router({ mergeParams: true })));

app.listen(8080, () => {
  console.log("service is ready on port 8080");
});

请参阅路由器API文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66338013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档