Javascript 如何处理express中未知数量的查询字符串

Javascript 如何处理express中未知数量的查询字符串,javascript,node.js,function,url,express,Javascript,Node.js,Function,Url,Express,我有一个url,它接受未知数量的查询字符串。下面是一个可能的url示例 /data/mydb.json?arg0=“foo”&arg1=15&transaction=function(x,y) 而整个函数体将是url的其余部分,但我将为您保留其余部分。对/data/:filename的请求将始终接受参数和函数作为查询字符串。既然req.query似乎没有将变量作为参数,我该如何处理这个问题?最后一个查询字符串使用的函数并不总是使用2个参数。非常感谢您的帮助。最简单的方法是将arg0=“foo”&

我有一个url,它接受未知数量的查询字符串。下面是一个可能的url示例

/data/mydb.json?arg0=“foo”&arg1=15&transaction=function(x,y)


而整个函数体将是url的其余部分,但我将为您保留其余部分。对
/data/:filename
的请求将始终接受参数和函数作为查询字符串。既然req.query似乎没有将变量作为参数,我该如何处理这个问题?最后一个查询字符串使用的函数并不总是使用2个参数。非常感谢您的帮助。

最简单的方法是将
arg0=“foo”&arg1=15
替换为
args=[“foo”,15]
,然后将它们传递给
函数。apply


如果知道参数的名称,则可以使用获取参数。如果您不知道名称,并且需要按顺序将它们传递到函数中,那么您可能必须手动使用并解析它,因为您可能不应该相信
req.query
将保持参数的正确顺序。

使用arg代替arg,它应该成为一个数组,使用.applyThanks可轻松直接传递到函数。我会知道名字的。它们将始终是arg0。一些参数称之为arg“n”。我可以使用req.query吗?据我所知,您必须执行req.query.something,而这个something不能是变量,因此我不确定如何执行此操作。
req.query
是一个javascript对象。因此,您可以执行类似于
req.query.arg1
的操作,在您的示例中,它将是
“foo”
。如果需要使用变量访问它,可以执行类似于
var x=“arg1”的操作;请求查询[x]
也将是
“foo”
。那么我可以在for循环中执行var args=[],然后执行req.query[i]吗?类似的情况是,如果您有
var args=[“arg1”、“arg2”]
,那么您可以执行
req.query[args[i]