无法比较来自nodejs中查询参数的字符串
Unable to compare String from query parameter in nodejs
我是 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"
谢谢!
在执行 Object.keys(friends)
函数调用之前,您没有将 friends
变量设置为任何值。因此,它没有任何东西可以从中创建密钥,并且永远不会执行 .forEach()
循环。
刚刚发现问题。我实际上是在比较 "Dan" with ""Dan""
(query String)。如果我将查询字符串更改为 name=Dan
,它就可以正常工作。
谢谢
我是 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"
谢谢!
在执行 Object.keys(friends)
函数调用之前,您没有将 friends
变量设置为任何值。因此,它没有任何东西可以从中创建密钥,并且永远不会执行 .forEach()
循环。
刚刚发现问题。我实际上是在比较 "Dan" with ""Dan""
(query String)。如果我将查询字符串更改为 name=Dan
,它就可以正常工作。
谢谢