У меня проблемы с получением функции network.request в Corona SDK, работающей с живым веб-сервером. На моем локальном хосте все работает нормально, но в тот момент, когда я изменяю код для связи с удаленным сервером, приложение возвращает нулевое значение.
Это код, который я использую в файле .lua
local function networkListener( event )
if ( event.isError ) then
print( "Network error!")
else
print ( "RESPONSE: " .. event.response )
local data = json.decode(event.response)
responseText.text = data.result;
messageText.text = data.message;
end
end
------------------
--Send the request to the website to have the user Registered.
------------------
function AddUser (username, email, password, Device_Type, Device_ID)
--Register Local
network.request( "http://localhost/MobileApp/Register.php?loginid=" .. mime.b64(username) .. "&email=" .. mime.b64(email) .. "&password=" .. mime.b64(password) .. "&Device_Type=" .. mime.b64(Device_Type) .. "&Device_ID=" .. mime.b64(Device_ID), "GET", networkListener )
end
Вот что должен вернуть код php-сервера в виде данных json:
$result = array();
$result["result"] = 200;
$result["message"] = "Sucessfully Registered";
echo json_encode($result);
mysql_free_result($dbresult);
exit;
Или это, если запрос не удался.
$result = array();
$result["result"] = 401;
$result["message"] = "Please try another Username";
echo json_encode($result);
mysql_free_result($dbresult);
exit;
Я ввел URL прямо в браузер с моего компьютера и получил ожидаемый результат
{"result":200,"message":"Sucessfully Registered"}
, поэтому я могу только предположить, что это проблема задержки и что код lua не ожидает возвращаемого значения.
Если кто-нибудь знает, что происходит или как решить эту проблему, я был бы очень признателен.
С уважением
Glen