无法比较nodejs中查询参数的String

问题描述 投票:0回答:2

我是node.js和javascript的新手。你能告诉我,为什么这个比较不起作用?

我的路由处理代码:

friends = [{  
id: 0,
name: "Dan"
}]

app.get("/search", (req, res) => {
  if (req.query.name) {
  let friend = null;
  Object.keys(friends).forEach((id => {
    if (friends[id].name === req.query.name){
        friend = id;}
       }));

  res.send(friend);     
}//end of outer if block
});

我的搜索查询是:

localhost:3000/search?name="Dan"

谢谢!

javascript node.js url uri query-parameters
2个回答
0
投票

在执行friends函数调用之前,您没有将Object.keys(friends)变量设置为任何内容。因此,没有任何东西可以创建密钥,并且永远不会执行.forEach()循环。


0
投票

刚刚想出了问题所在。我实际上是在比较"Dan" with ""Dan""(查询字符串)。如果我将我的查询字符串更改为name=Dan它可以正常工作。

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.