Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.08.2008, 18:32
Oreanor вне форума Посмотреть профиль Отправить личное сообщение для Oreanor Найти все сообщения от Oreanor
  № 1  
Ответить с цитированием
Oreanor

Регистрация: Sep 2004
Сообщений: 159
Отправить сообщение для Oreanor с помощью ICQ
По умолчанию не работает URLLoader, AS3+PHP

Делаю простейший пример взаимодействия AS3 и PHP

AS3:
Код:
var url = "http://test1.ru/sample2.php";
var vars:URLVariables = new URLVariables();
var sender:URLVariables = new URLVariables();
sender.id= "GET";
var request:URLRequest = new URLRequest(egosetURL);
request.data = sender;
request.method = URLRequestMethod.GET;

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, varsHandleComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, varsHandleIOError);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, varsHandleHttpStatus);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, varsHandleSecurityError);
			
try {loader.load(request);}catch (e:Error) {trace("error!")}

sample2.php
Код:
<?php
$returnVars = array();
$returnVars['username'] = "John Doe";
$returnVars['email'] = "johndoe@hotmail.com";
$returnString = http_build_query($returnVars);

echo $returnString;

?>
test1.ru - виртуальный хост под апачем.
Все работает.

Переношу все на живой сервер (IIS) - флеш выдает такую ошибку.

Код:
Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs.
	at Error$/throwError()
	at flash.net::URLVariables/decode()
	at flash.net::URLVariables$iinit()
	at flash.net::URLLoader/flash.net:URLLoader::onComplete()
подозреваю, дело в настройке сервера, но как его настраивать и из-за чего вообще такая ошибка - не могу понять. я даже не могу оттрейсить его ответ, т.к. ни один обработчик не срабатывает - ни IOError, ни Complete. Единственно что httpStatus выдает код 200 - ОК

помогите плз советом!


забыл добавить - аналогичный пример на AS2 с LoadVars отлично воспринимался этим серваком. так что есть мнение, что он все-таки возвращает переменные.


Последний раз редактировалось Oreanor; 20.08.2008 в 18:40.
Старый 01.10.2008, 00:04
alximik00 вне форума Посмотреть профиль Отправить личное сообщение для alximik00 Найти все сообщения от alximik00
  № 2  
Ответить с цитированием
alximik00

Регистрация: Sep 2008
Адрес: Belgorod, Russia
Сообщений: 4
ответ никто не даст? столкнулся с тем же каким должен быть формат возвращаемых данных?
&var=val&var2=val2, так же?

Старый 01.10.2008, 00:26
Oreanor вне форума Посмотреть профиль Отправить личное сообщение для Oreanor Найти все сообщения от Oreanor
  № 3  
Ответить с цитированием
Oreanor

Регистрация: Sep 2004
Сообщений: 159
Отправить сообщение для Oreanor с помощью ICQ
я помогу тебе!
режь нафиг первый амперсанд.

Старый 02.10.2008, 00:46
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 4  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Так я не понял вопрос снят или нет?
на всякий случай
Код:
var txt:TextField = new TextField();
txt.text = "Здесь будут переменные";
txt.autoSize = TextFieldAutoSize.LEFT;
txt.scaleX = txt.scaleY = 3;
addChild(txt);//добавить на рабочее поле



var url:String = "http://test1.ru/sample2.php";
var request:URLRequest = new URLRequest(url);
//var variables:URLVariables = new URLVariables();
//            variables.exampleSessionId = new Date().getTime();
//            variables.user_name = "";
//            variables.user_message = "";

//request.data = variables;
var loader:URLLoader = new URLLoader();
configureListeners(loader);
try {
	loader.load(request);
} catch (error:Error) {
	trace("Unable to load requested document.");
}

function configureListeners(dispatcher:IEventDispatcher):void {
	dispatcher.addEventListener(Event.COMPLETE, completeHandler);
}
function completeHandler(event:Event):void {
	var loader:URLLoader = URLLoader(event.target);
	trace("completeHandler: " + loader.data);
	var vars:URLVariables = new URLVariables(loader.data);
	txt.text=vars.username+'\n'+vars.email;
}
Совет перед тем как грузить флешем нужно попробавть интернет эксплоером или оперой загрузить.
На самом деле пример есть (простейший)
http://www.flasher.ru/forum/showthread.php?t=113083

Старый 07.10.2008, 23:05
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 5  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Цитата:
режь нафиг первый амперсанд
Действительно помогло. А почему строка с первым символом-амперсандом не является верной? Раньше, в АС2.0, это считалось нормальным. Изменились какие-либо стандарты, связанные с этим?

Старый 08.10.2008, 00:36
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Вообще говоря, первый амперсанд не является стандартом для url-encoded строки.

Старый 08.10.2008, 00:49
Oreanor вне форума Посмотреть профиль Отправить личное сообщение для Oreanor Найти все сообщения от Oreanor
  № 7  
Ответить с цитированием
Oreanor

Регистрация: Sep 2004
Сообщений: 159
Отправить сообщение для Oreanor с помощью ICQ
Цитата:
Сообщение от Kuruki Посмотреть сообщение
Действительно помогло. А почему строка с первым символом-амперсандом не является верной? Раньше, в АС2.0, это считалось нормальным. Изменились какие-либо стандарты, связанные с этим?
не знаю насчет стандарта, но дело обстоит именно так - во втором с амперсандом, в третьем - без.
уже не помню, где я в результате об этом прочитал, но нервов потратил вагон, пока разобрался, что дело именно в этом. AS3 уж больно беспощаден к врагам рейха.

Старый 08.10.2008, 00:58
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 8  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
ну то, что есть что-то работающие в упрёк кривизне реализации сторонних разработок, это ещё не значит, что именно так надо.

Старый 08.10.2008, 01:03
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Oreanor Посмотреть сообщение
не знаю насчет стандарта, но дело обстоит именно так - во втором с амперсандом, в третьем - без.
уже не помню, где я в результате об этом прочитал, но нервов потратил вагон, пока разобрался, что дело именно в этом. AS3 уж больно беспощаден к врагам рейха.
Во втором амперсанд в начале тоже фиг знает откуда взяли, его там не было и он не нужен был никогда.

Старый 08.10.2008, 01:17
Oreanor вне форума Посмотреть профиль Отправить личное сообщение для Oreanor Найти все сообщения от Oreanor
  № 10  
Ответить с цитированием
Oreanor

Регистрация: Sep 2004
Сообщений: 159
Отправить сообщение для Oreanor с помощью ICQ
Цитата:
Сообщение от __etc Посмотреть сообщение
Во втором амперсанд в начале тоже фиг знает откуда взяли, его там не было и он не нужен был никогда.
имхо все же без него во втором у меня не работало. я бы тогда один вариант оставил, а так пришлось дополнительную переменную в запрос ввести, чтобы узнавать, какой версии скрипт обращается

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:01.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.