POST-данные в Lua - PullRequest
       26

POST-данные в Lua

2 голосов
/ 07 февраля 2011

Я учу Луа в данный момент. Мне нужно иметь доступ к почте и получать данные. Я пытаюсь выяснить, как эквивалентно PHP $ _POST и $ _GET в Lua.

Ответы [ 5 ]

2 голосов
/ 07 февраля 2011

Это зависит от веб-сервера, на котором вы работаете, и любых библиотек-посредников, которые вы используете.

В 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, значение2, ...] для случаев с дублированными именами параметров.

Более полные примеры доступны по адресу http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/lua/test/htdocs/test.lua?revision=728494&view=markup

2 голосов
/ 07 февраля 2011

Существует множество веб-фреймворков для Lua, каждая из которых имеет свой собственный способ доступа к GET и POST.

Вероятно, самый простой способ изучить Lua для веб-разработки - это использовать WSAPI .

Чтобы получить GET и POST, используйте 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
1 голос
/ 07 февраля 2011

Эквивалента нет, так как Lua не разработан как язык веб-сценариев. В каком контексте вы используете это (CGI, FCGI, модуль Apache)? Вам, вероятно, придется изучить спецификацию CGI и получить доступ к переменным окружения и стандартному вводу из Lua.

0 голосов
/ 28 июля 2014

Чтение данных POST в традиционном формате html-формы или в кодировке url - путаница в Lua. Лучше попытайтесь использовать библиотеку javascript форм AJAX, чтобы ваши данные отправлялись в JSON обратно на сервер, где вы можете легко анализировать и использовать.

0 голосов
/ 25 июля 2011

Вы всегда можете проверить Lua4Web https://github.com/schme16/Lua4Web

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...