鉴于网址:
传递代码:
var queryData = url.parse(request.url, true).query;
if (queryData["s"]) {
console.log("s present in hash");
} else {
console.log("s NOT present in hash");
}
我希望网址1和2能够测试为真。他们在我以前用过的其他langs / libs中做过。在查询字符串解析代码中,他们不会将#2视为{" s" :null}它只是没有把s放在哈希中 如果我想要这种行为或者我应该能够在查询字符串中测试s var的另一种方式,是否应该使用另一个节点包?
答案 0 :(得分:1)
哈希中的变量s
。它等于空字符串,这正是您在URL中所拥有的字符串。当强制转换为布尔值时,它将评估为false
。
> url.parse('http://somedomain.com?s=', true).query
{ s: '' }
> !!url.parse('http://somedomain.com?s=', true).query.s
false