我已经在SO上查找了相同的问题,因为我认为这对我来说是一个非常简单的错误,但我发现的最接近的是this link。我正在学习Node.JS,并且正在编写一个相对简单的端点来接收某个艺术家的获取请求:
router.get("/:artistID", (req, res) => {
console.log(req.params);
console.log(req.params.artistId);
res.send(req.params);
})
我希望看到的是 1),一个JSON对象,{artistID:" whatIsent"}, 2) a"当我使用像Postman这样的API测试实用程序时,whatIsent",然后 3)与响应相同的JSON对象。
结果1)和3)按预期发生,但这是我在控制台中看到的内容:
{ artistID: 'whatIsent' }
undefined
这是我发送的GET请求: http://localhost:8080/artists/whatIsent
究竟发生了什么? Express是否将artistId
转换为某个不是字符串的中间对象?
编辑:我使用了typeof req.params.artistId
,它还返回了undefined ......
答案 0 :(得分:2)
您将变量定义为artistID
并尝试获取artistId
。参数区分大小写。
答案 1 :(得分:1)
您的代码中有拼写错误。
应该是artistID
而不是artistId
。