Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Nodejs:url.parse查询中存在数组问题_Node.js_Query String - Fatal编程技术网

Node.js Nodejs:url.parse查询中存在数组问题

Node.js Nodejs:url.parse查询中存在数组问题,node.js,query-string,Node.js,Query String,返回: http://domain.com/action?params[]=1&params[]=2&params[]=3 params[]作为名称而不是params 在PHP之后,这有点令人惊讶 jQuery序列化正在参数上添加[] 你们是为此写了一个助手,还是我只是做错了?这对我来说似乎是意料之中的行为;如果querystring解析器删除了部分名称,我会更惊讶。也就是说,该模块所做的正是我所期望的解析器所做的,该解析器只需将名称/值对按“&”拆分,将名称/值按“=”拆分,

返回:

http://domain.com/action?params[]=1&params[]=2&params[]=3
params[]作为名称而不是params

在PHP之后,这有点令人惊讶

jQuery序列化正在参数上添加[]


你们是为此写了一个助手,还是我只是做错了?

这对我来说似乎是意料之中的行为;如果querystring解析器删除了部分名称,我会更惊讶。也就是说,该模块所做的正是我所期望的解析器所做的,该解析器只需将名称/值对按“&”拆分,将名称/值按“=”拆分,并使用特殊字符进行unescape

var qs=要求“查询字符串”; qs.parse'params=1¶ms=2¶ms=3';//名称应为params //=>{'params':['1','2','3']} qs.parse'params[]=1¶ms[]=2¶ms[]=3';//名称应为params[] //=>{'params[]':['1','2','3']}
此模块根据需要执行解析:

如果这不起作用,对于复杂阵列还有另一种方法:

两者都可以在这里找到:

Mate我正在使用jQuery,它采用了参数序列化。它正在发送此params[]=1¶ms[]=2¶ms[]=3类型的查询。我已找到此类型的模块。问题已结束有一点值得注意的是,如果使用params=1只传递一个参数,它将不会被解析为数组。默认Node.js决定不为具有多个值的params实现该功能,但TJ的模块解决了这一问题。我猜Ry不应该为此类杂项问题而烦恼。是的,也许可以将其从核心中删除并放入单独的模块中。
query: { 'params[]': [ '1', '2', '3' ] }