【问题标题】:How get all parameters in express.js (post/get/etc.)如何获取 express.js 中的所有参数(post/get/etc.)
【发布时间】:2014-03-18 18:37:04
【问题描述】:

有没有办法在使用 express.js 发送所有参数后进入?我知道如何分别知道 GET/POST,但是有没有办法一次获取所有内容?

到目前为止,我还没有发现任何相关信息,特别是调试很有用。

req.param(key) 当然可以,但我想要一个所有参数的列表,不必检索它们,只需查看它们即可。

编辑:添加路线信息:

consoleDev('Url: ' + req.method + ' ' + req.baseUrl + req._parsedUrl.href, 'debug');
consoleDev('Options: ' + JSON.stringify(options), 'debug');
consoleDev('Params: ' + Object.keys(req.params), 'debug');
consoleDev('Params: ' + (req.param('test')), 'debug');

控制台:

debug: Url: GET http://localhost:5000/?test=5000
debug: Options: {"controllerName":"home","methodName":"index"}
debug: Params: 
debug: Params: 5000

【问题讨论】:

  • 将您的路线更改为app.all('routename'...

标签: javascript node.js parameters express


【解决方案1】:

对于查询参数,您可以使用: Object.keys(contexto.req.query);

【讨论】:

    【解决方案2】:

    我忘记了我几个月前创建了这个主题并创建了另一个我得到问题答案的主题:

    您正在寻找 req.body,其中包含已解析的 POST 正文。 (假设你有解析它的中间件)

    参见 express.bodyParser()

    How log express.js POST parameters

    【讨论】:

      【解决方案3】:

      如果你只想查看传递的值,你可以这样做

      console.dir(req.params);
      

      或者您可以使用以下方法获取键列表:

      keys = Object.keys(req.params);
      console.log(keys);
      

      【讨论】:

      • req.param 是一个函数。 req.params 是一个数组,但是当我发送 GET/POST 参数时总是空的。
      • 我的错。我刚刚编辑了我的答案以反映我最初打算的 req.params 。如果 POST 上的值为空,则可能缺少 app.use(express.bodyParser());在你的代码中。但奇怪的是,它们在 GET 上也是空的。您能否在问题中包含您的路线?
      • 完成。你怎么看?它只是没有找到密钥,但是当我明确地调用它们时它确实找到了。
      • req.params 将在 URL 词干中包含值。如果您的路线是 app.get("/:test",whatever),它将捕获“test”。要读取查询字符串值,您可以使用 req.query。我怀疑 req.param() 足够聪明,可以同时解析(req.params 和 req.query)
      • 好的,但这不是我要找的。但我想快递中没有我想要的东西。是的,req.param 能够提供查询、路由和发布/等。
      猜你喜欢
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 2015-12-16
      • 1970-01-01
      • 2011-12-16
      • 1970-01-01
      • 2015-11-23
      相关资源
      最近更新 更多