Hi,
有这样一个需求,对于请求的参数,比如arg_ds=234,543,fdsf,2323,需要将非数字字符过滤掉
最终像这样 arg_ds=234,543,2323.
尝试用下面的方式不能成功,请问为什么,有什么别的办法吗?
报这样的错:using uninitialized "arg_ds"
location ~ ^/get$ {
set_unescape_uri $args $args;
set_by_lua $ids '
local ids = ngx.var.arg_ds;
local t = {};
for id in string.gmatch(ids,"%d+") do
table.insert(t,id);
end
return table.concat(t,",");
';
set $arg_ds $ids; 这里总是不成功
content_by_lua "使用 ngx.var.ids 处理一些数据,并返回给客户端。
如果发生错误则直接返回错误码。
";
error_page 这里接收错误码,转发给上游程序去处理,这里需要arg_ds是已经过滤好的数据
}