【问题标题】:Express Router GET request console.log shows undefined request parameters [closed]Express Router GET请求console.log显示未定义的请求参数[关闭]
【发布时间】:2017-07-05 07:21:01
【问题描述】:

我在 SO 上查看了相同的问题,因为我觉得这是我的一个非常简单的错误,但我发现最接近的是 this link。我正在学习 Node.JS,并且正在编写一个相对简单的端点来接收某个艺术家的 get 请求:

router.get("/:artistID", (req, res) => {
  console.log(req.params);
  console.log(req.params.artistId);
  res.send(req.params);
})

我希望看到的是 1),一个带有 {artistID: "whatIsent"} 的 JSON 对象,2) 一个 "whatIsent",然后是 3) 当我使用 Postman 等 API 测试实用程序时,使用相同的 JSON 对象作为响应。

结果 1) 和 3) 按预期发生,但这是我在控制台中看到的:

{ artistID: 'whatIsent' }
undefined

这是我发送的 GET 请求: http://localhost:8080/artists/whatIsent.

到底发生了什么? Express 是否将artistId 翻译成一些不是字符串的中间对象?

编辑:我使用typeof req.params.artistId,它也返回未定义...

【问题讨论】:

  • artistId !== artistID
  • 天哪……现在我觉得自己像个白痴。你只想回答这个问题,我会接受它,这样我们就可以关闭它并忘记它曾经发生过?

标签: javascript json node.js express


【解决方案1】:

您将变量定义为artistID 并尝试获取artistId。参数区分大小写。

【讨论】:

    【解决方案2】:

    您的代码中有错字。

    应该是artistID 而不是artistId

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-04
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      相关资源
      最近更新 更多