2011-02-07 85 views
2

我正在學習Lua。我需要能夠訪問帖子並獲取數據。我試圖找出如何在Lua中相當於PHP $ _POST和$ _GET。Lua中的POST數據

回答

1

由於Lua不是作爲Web腳本語言設計的,因此沒有等價物。在什麼情況下你使用這個(CGI,FCGI,Apache模塊)?您可能需要查看CGI規範並從Lua訪問環境變量和stdin。

2

這取決於您正在運行的Web服務器以及您正在使用的任何中間庫。

在Apache的2.3,使用附帶的mod_lua,這將是

function my_handler(r) 
    -- URI params 
    local simple, full = r:parseargs() 

    -- POST body 
    local simple, full = r:parsebody() 
end 

如果簡單是關鍵的表 - >值(您最想要的什麼時間),並充分是關鍵 - > [值1 ,value2,...]用於重複命名參數的情況。

富勒的例子可在http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/lua/test/htdocs/test.lua?revision=728494&view=markup

2

還有爲lua許多網頁框架,每個都有自己的訪問GETPOST的方式。

學習Lua網絡開發的最簡單方法是使用WSAPI

要獲得GETPOST,使用wsapi.request在您的處理程序:

require 'wsapi.request' 

local handler = function(env) 
    local request = wsapi.request.new(env) 
    local GET = wsapi.request.GET 
    local POST = wsapi.request.POST 

    ... 
end 
0

在傳統的HTML表單或URL編碼格式讀取POST數據是一個爛攤子在Lua。最好嘗試使用AJAX表單JavaScript庫,以便將數據以JSON形式發送回服務器,在那裏您可以輕鬆解析和使用。