【发布时间】:2018-08-14 17:49:02
【问题描述】:
我是 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"
谢谢!
【问题讨论】:
-
我已经检查了两个friends[id].name 和req.query.name 的类型,它们都是String 类型。但是,当我在控制台上打印它们时,它分别给出了 Dan 和“Dan”。
-
刚刚发现了问题。我实际上是在将“Dan”与“Dan”(查询字符串)进行比较。如果我将查询字符串更改为 name=Dan 它可以工作。
标签: javascript node.js url uri query-parameters