Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
jquery dataTables插件-如何在服务器端获取querystring值?_Jquery_Lua_Cgi_Jquery Datatables - Fatal编程技术网

jquery dataTables插件-如何在服务器端获取querystring值?

jquery dataTables插件-如何在服务器端获取querystring值?,jquery,lua,cgi,jquery-datatables,Jquery,Lua,Cgi,Jquery Datatables,我的dataTable正在创建以下querystring: http://testserver/cgi-bin/widget?draw=1&columns%5B0%5D%5Bdata%5D=0&columns%5B0%5D%5Bname%5D=&columns%5B0%5D%5Bsearchable%5D=true&columns%5B0%5D%5Borderable%5D=true&columns%5B0%5D%5Bsearch%5D%5Bvalue%5

我的dataTable正在创建以下querystring:

http://testserver/cgi-bin/widget?draw=1&columns%5B0%5D%5Bdata%5D=0&columns%5B0%5D%5Bname%5D=&columns%5B0%5D%5Bsearchable%5D=true&columns%5B0%5D%5Borderable%5D=true&columns%5B0%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B0%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B1%5D%5Bdata%5D=1&columns%5B1%5D%5Bname%5D=&columns%5B1%5D%5Bsearchable%5D=true&columns%5B1%5D%5Borderable%5D=true&columns%5B1%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B1%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B2%5D%5Bdata%5D=2&columns%5B2%5D%5Bname%5D=&columns%5B2%5D%5Bsearchable%5D=true&columns%5B2%5D%5Borderable%5D=true&columns%5B2%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B2%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B3%5D%5Bdata%5D=3&columns%5B3%5D%5Bname%5D=&columns%5B3%5D%5Bsearchable%5D=true&columns%5B3%5D%5Borderable%5D=true&columns%5B3%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B3%5D%5Bsearch%5D%5Bregex%5D=false&order%5B0%5D%5Bcolumn%5D=1&order%5B0%5D%5Bdir%5D=asc&start=0&length=10&search%5Bvalue%5D=&search%5Bregex%5D=false&_=1431373301322
从我的cgi脚本中,我可以通过如下操作提取“draw”和“start”等值

local start = FORM.start
local draw = FORM.draw
但我需要知道如何获得其他值。在FFox中的F12工具中,我可以看到我有像列[1][data]:1这样的值,但我似乎无法获得获取这些值的正确语法。在上面显示的查询字符串中,此值作为“列%5B1%5D%5Bdata%5D=1”发送/发布

我尝试了以下组合:

--log(FORM.columns.1.data)
--log(FORM.columns[1][data])
--log(FORM.columns[1]['data'])
--log(FORM.columns['1']['data'])
我还在lua命令行上运行了一些测试,以确保我知道如何访问多维数组中存储的值

Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> mt = {}
> mt[1]={}
> mt[1]['data']=1
> print(mt[1].data)
1
> print(mt[1]['data'])
1
> 
如有任何建议,将不胜感激。 谢谢。

查询字符串是因为查询字符串中不能有括号。在使用它之前,你必须对它进行解码。是如何执行此操作的示例(在页面末尾)。这两种方法:

function unescape (s)
  s = string.gsub(s, "+", " ")
  s = string.gsub(s, "%%(%x%x)", function (h)
        return string.char(tonumber(h, 16))
      end)
  return s
end
它是由

cgi = {}
function decode (s)
  for name, value in string.gfind(s, "([^&=]+)=([^&=]+)") do
    name = unescape(name)
    value = unescape(value)
    cgi[name] = value
  end
end