“是”吗&&引用;对url中的查询字符串有效

“是”吗&&引用;对url中的查询字符串有效,url,browser,Url,Browser,在url的查询字符串中省略第一个参数是否有效 http://www.asdf.com/?&foo=bar&foo2=bar2 如果我错了,请纠正我,但这意味着一个空参数,后跟“foo”和“foo2”参数 Chrome和Firefox似乎能够正确解释查询参数,即使第一个参数被省略了,但我想确保这确实有效?引自: 根据谁为您解析查询字符串,他们将能够识别第一个&无效。下面是一个示例解析器 var query_string = "&foo=bar&foo2=bar2"

在url的查询字符串中省略第一个参数是否有效

http://www.asdf.com/?&foo=bar&foo2=bar2
如果我错了,请纠正我,但这意味着一个空参数,后跟“foo”和“foo2”参数

Chrome和Firefox似乎能够正确解释查询参数,即使第一个参数被省略了,但我想确保这确实有效?

引自:

根据谁为您解析查询字符串,他们将能够识别第一个
&
无效。下面是一个示例解析器

var query_string = "&foo=bar&foo2=bar2";
query_string.split("&").forEach(function(value) {    
     console.log(value.split("=")); 
 });
输出:

[""]
["foo", "bar"]
["foo2", "bar2"]

键值对,将需要一个键和一个值。您可以通过检查数组的长度是否为2来确定它们是否有效。

第3.4节的措辞有点误导。如果您查看第3节中定义的形式语法,
URI=scheme:“hier part[”?“query][“#”fragment]
,您可以清楚地看到,
“?”
不是
query
组件本身的一部分,它是分隔
hier part
query
组件的分隔符。因此,您的
split()
示例被打断,因为
“?”
不应位于
查询字符串中,以.true开头。在我回答之后,我想起了这一点。问题是字符串在JavaScript中是不可变的,从“原始”原始字符串创建新字符串对我来说是太多的输入了。拥有可变字符串并能够使用String.shift()会很好,因此关闭第一个参数(通过执行?&)是完全有效的?
var query_string = "&foo=bar&foo2=bar2";
query_string.split("&").forEach(function(value) {    
     console.log(value.split("=")); 
 });
[""]
["foo", "bar"]
["foo2", "bar2"]