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

Регистрация: Sep 2010
Сообщений: 11
По умолчанию URLLoader не происходит событие Event.COMPLETE

Всем привет, существует проблема
При отправке запроса GET к стороннему серверу, передаю параметры с русскими буквами и использую функцию encodeURI. НЕ срабатывает событие Event.COMPLETE.

Код работает, в на локальном компе (и с русскими и без них).
При запуске из вконтакте работает, если в строке запроса отсутствуют русские буквы. Как только в строке запроса появляются русские буквы, то перестает работать (хотя перед отправкой запроса кодирую функцией encodeURI).

Код ниже:
Код AS3:
public function requestServer(url: String, onSuccess: Function = null, onError: Function = null)
		{
			var request:URLRequest = new URLRequest();
			request.url = encodeURI(url + _authUrlPart + getUniqueUrlPart());
			request.method = URLRequestMethod.GET;
			loader = new URLLoader();
 
			loader.addEventListener(Event.COMPLETE, function(e:Event):void{
			var loader:URLLoader = URLLoader(e.target);
			trace(loader.data);
 
			var data: Object = JSON.decode(loader.data);
 
			if (data.Success) 
			{
				if (onSuccess)
				{
				onSuccess(data.Body);
				}
			} 
			else 
			{
				if (onError)
				{
					onError(data);
				}
				else
				{
					onErrorDefault(data);
				}
			}
			});
 
			try
			{
				loader.load(request);
			}
			catch (error:Error)
			{
				trace("Unable to load URL");
			}
		}
Пример url - запроса до применения функции encodeURI:

Код:
http:// ... /Параметр1/Параметр2/?u=1&a=1&t=1
Пример url - запроса послеприменения функции encodeURI:

Код:
http:// ... /%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%801/%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%802/?u=1&a=1&t=1
Помогите плиз! Заранее очень благодарен

Добавлено через 1 час 49 минут
Посмотрел, что срабатывает событие securityError (#2048: Нарушение изолированной среды), и оно срабатывает только при попытке отправить запрос с русскими буквами(перекодированными с помощью функции encodeURI).
Почему так возникает?

Добавлено через 19 часов 48 минут
И еще, это событие срабатывает только при использовании FireFox? в остальных браузерах работает!
Помогите пожалуйста, уже замучался!