- 4
- 0
Прочитав тему https://www.blast.hk/threads/20532/ и перепробовал уйму других вариантов так и не смог решить проблему post запроса.
Из темы, указанной выше взял код (будет указан ниже)...Все работает без ошибок, отлично получаю ответ от сервера...но я не могу понять, что именно я должен передать в функцию httpRequest вместо аргумента "body", чтобы POST запрос полноценно работал.
Для примера, на сервере лежит именно php файл и я хотел бы получить переданные данные. Текст метода Асинхронного запроса и код php файла указаны ниже.
Я не особо разбираюсь как в LUA, так и в PHP, так что может я вообще что-то делаю неведанное...По крайней мере с использованием C# и Unity3d проблем с POST запросами не было.
Благодарю за помощь!
Из темы, указанной выше взял код (будет указан ниже)...Все работает без ошибок, отлично получаю ответ от сервера...но я не могу понять, что именно я должен передать в функцию httpRequest вместо аргумента "body", чтобы POST запрос полноценно работал.
Для примера, на сервере лежит именно php файл и я хотел бы получить переданные данные. Текст метода Асинхронного запроса и код php файла указаны ниже.
Я не особо разбираюсь как в LUA, так и в PHP, так что может я вообще что-то делаю неведанное...По крайней мере с использованием C# и Unity3d проблем с POST запросами не было.
Благодарю за помощь!
PHP:
<?php
$data = $_POST['Data'];
echo $data;
?>
Lua:
local copas = require 'copas'
local http = require 'copas.http'
function httpRequest(request, body, handler) -- copas.http
-- start polling task
if not copas.running then
copas.running = true
lua_thread.create(function()
wait(0)
while not copas.finished() do
local ok, err = copas.step(0)
if ok == nil then error(err) end
wait(0)
end
copas.running = false
end)
end
-- do request
if handler then
return copas.addthread(function(r, b, h)
copas.setErrorHandler(function(err) h(nil, err) end)
h(http.request(r, b))
end, request, body, handler)
else
local results
local thread = copas.addthread(function(r, b)
copas.setErrorHandler(function(err) results = {nil, err} end)
results = table.pack(http.request(r, b))
end, request, body)
while coroutine.status(thread) ~= 'dead' do wait(0) end
return table.unpack(results)
end
end