获取url参数

ngx.var.arg_xx与ngx.req.get_uri_args["xx"]两者都是为了获取请求uri中的参数,例如

?strider=1
为了获取输入参数strider,以下两种方法都可以:

local strider = ngx.var.arg_strider
local strider = ngx.req.get_uri_args["strider"]

差别在于,当请求uri中有多个同名参数时,ngx.var.arg_xx的做法是取第一个出现的值,ngx.req_get_uri_args["xx"]的做法是返回一个table,该table里存放了该参数的所有值,例如,当请求uri为:

?strider=1&strider=2&strider=3&strider=4

ngx.var.arg_strider的值为"1",而ngx.req.get_uri_args["strider"]的值为table ["1", "2", "3", "4"]。

因此,ngx.req.get_uri_args属于ngx.var.arg_的增强。

获取post参数

ngx.req.read_body()
local postargs = ngx.req.get_post_args()
postargs["user_id"]

doc


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...


引用和评论

0 条评论