AS3 AIR 3.5 для Android отправляет данные POST в URLRequest
Я пытаюсь отправить данные на внешний URL-адрес в приложении AIR for Android для входа в систему. Он работает в Flash Debugger на моем компьютере, но не работает на моем устройстве Android. У меня установлено интернет-разрешение для моего приложения. У меня есть слушатели, настроенные для IO_ERROR и SECURITY_ERROR, но ни один из них не запущен. Он просто висит там и ничего не делает, когда я тестирую на устройстве, но в отладочном плеере работает нормально!?!?
РЕДАКТИРОВАТЬ: я уже искал ответы, и самое близкое, что я пришел, было это: AS3 AIR URLLoader POST, которые предлагают указать тип содержимого в моем запросе, но это не решает мою проблему
РЕДАКТИРОВАТЬ: Это также работает, когда я загружаю его на сервер и добавляю crossdomain.xml на запрошенный сайт.
public static function login(user:String, pass:String):void
{
username = user;
var request:URLRequest = new URLRequest( "http://mysite.com/"+user+"/login.json" );
request.method = URLRequestMethod.POST;
request.contentType = 'application/x-www-form-urlencoded';
var variables:URLVariables = new URLVariables();
variables.p = pass;
request.data = variables;
var requestor:URLLoader = new URLLoader();
requestor.addEventListener( Event.COMPLETE, loginRequestComplete );
requestor.addEventListener( IOErrorEvent.IO_ERROR, httpRequestError );
requestor.addEventListener( SecurityErrorEvent.SECURITY_ERROR, httpRequestError );
requestor.load( request );
}
1 ответ
Ну вот наконец-то мне это удалось...
Я брал свое имя пользователя и пароль из двух текстовых полей, созданных в ide.
Текстовое поле имени пользователя было установлено на многострочное, что не вызывало проблем в онлайн-версии или версии отладчика, но добавило разрыв строки в текстовое поле на моем устройстве Android, в результате чего мой API вернул 400.
Поменял его на однострочное текстовое поле и проблема решена.
Псих:)