Показать сообщение отдельно
Старый 20.01.2012, 15:27
s3dworld вне форума Посмотреть профиль Отправить личное сообщение для s3dworld Найти все сообщения от s3dworld
  № 1  
Ответить с цитированием
s3dworld

Регистрация: Apr 2010
Сообщений: 170
Attention URLLoader ничего не делает

Всем доброго дня!

Сейчас пытаюсь адаптировать приложение под социальную сеть В кругу друзей. И столкнулся с трудностью уже при отправке первого запроса. Пробовал и методом POST и методом GET. Ниже пример запроса методом GET. Объявил URLLoader глобальным для класса VDKAPI:

Код AS3:
private var urlLoader:URLLoader=null;
В конструкторе:

Код AS3:
urlLoader=new URLLoader();
urlLoader.dataFormat=URLLoaderDataFormat.TEXT;
Далее уже при вызове метода получения друзей пользователя установивших приложение:

Код AS3:
urlLoader.addEventListener(Event.COMPLETE,OnComplete);
urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,OnSecurityError);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR,OnIOError);
 
var urlRequest:URLRequest=new URLRequest("http://api.vkrugudruzei.ru/servicepoint.ashx?cmd0.name=Application.GetAppFriends&cmd0.args.applicationId=???&cmd0.args.userId=????????&serializer=SimpleXml");
 
urlRequest.method=URLRequestMethod.GET;
 
try
{
	urlLoader.load(urlRequest);
}
catch(_error:Error)
{
	urlLoader.removeEventListener(Event.COMPLETE,OnComplete);
	urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR,OnSecurityError);
	urlLoader.removeEventListener(IOErrorEvent.IO_ERROR,OnIOError);
}
А вот функции обработки:

Код AS3:
private function OnComplete(_event:Event):void
{	
	urlLoader.removeEventListener(Event.COMPLETE,OnComplete);
	urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR,OnSecurityError);
	urlLoader.removeEventListener(IOErrorEvent.IO_ERROR,OnIOError);
}
 
private function OnSecurityError(_event:SecurityError):void
{
	urlLoader.removeEventListener(Event.COMPLETE,OnComplete);
	urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR,OnSecurityError);
	urlLoader.removeEventListener(IOErrorEvent.IO_ERROR,OnIOError);
}
 
private function OnIOError(_event:IOErrorEvent):void
{
	urlLoader.removeEventListener(Event.COMPLETE,OnComplete);
	urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR,OnSecurityError);
	urlLoader.removeEventListener(IOErrorEvent.IO_ERROR,OnIOError);
}
Тут я привёл не полный код (полный код содержит добавление вызовов функций для предоставления отладочной информации) и ID пользователя с ID приложением заменил на знаки вопроса. В общем при вызове метода load объекта URLLoader ничего не происходит: ни ошибки, ни ответа - ничего!

Почему такое может быть?