Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Получение данных от сервера (http://www.flasher.ru/forum/showthread.php?t=146805)

rezzanator 18.11.2010 14:57

Получение данных от сервера
 
Всем привет.
Заинтересовался RIA. Пытаюсь попробовать что нибудь сделать. И собственно появился вопрос.

Есть урл 'сайт.ру/пейдж',на который при обращении просто возвращается число.

как при помощи flex обратиться к урлу и прочесть это значение?

пробую так
Код AS3:

public function Init():void {
        var PATH:String = "http://test1.ru/test.php";
        var urlRequest:URLRequest = new URLRequest(PATH);
        var urlLoader:URLLoader = new URLLoader();
        urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
        urlLoader.load(urlRequest);
 
        trace(urlLoader.data);
}

возвращает undefined

Подскажите в какую сторону капать?

GBee 18.11.2010 15:10

Копать в сторону событий, в частности event.COMPLETE

rezzanator 18.11.2010 15:31

ткните носом. не понимаю что не так.
В trace пишет Обращение несуществующего свойтсва urlLoader.

Код AS3:

        <fx:Script>
                <![CDATA[
                        import flash.net.URLLoader;
                        import flash.net.URLRequest;
 
                        public function Init():void {
                                var PATH:String = "http://test1.ru/test.php";
                                var urlRequest:URLRequest = new URLRequest(PATH);
                                var urlLoader:URLLoader = new URLLoader();
                                urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
                                urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
                                urlLoader.load(urlRequest);
                        }
 
                        public function urlLoader_complete(evt:Event):void {
                                trace(urlLoader.data);
                        }
                ]]>
        </fx:Script>


GemiBillyBob 18.11.2010 16:42

urlLoader объявлен внутри метода Init(). Соответственно urlLoader_complete() его не видит. Тут нужно или объявлять прямо за импортами urlLoader или использовать evt.

rezzanator 18.11.2010 16:53

спасибо.

Объявляя за import ругается " Cannot access a property or method of a null object reference."

Код AS3:

<fx:Script>
                <![CDATA[
                        import flash.net.URLLoader;
                        import flash.net.URLRequest;
 
                        public var urlLoader:URLLoader;
 
                        public function Init():void {
                                var PATH:String = "http://test1.ru/test.php";
                                var urlRequest:URLRequest = new URLRequest(PATH);
                                var urlLoader:URLLoader = new URLLoader();
                                urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
                                urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
                                urlLoader.load(urlRequest);
                        }
 
                        public function urlLoader_complete(evt:Event):void {
                                trace(urlLoader.data);
                        }
                ]]>
        </fx:Script>


А если через evt, то я не пойму как обратится к ".data".

Что то как то не прёт.

GemiBillyBob 18.11.2010 17:23

Код AS3:

<fx:Script>
                <![CDATA[
                        import flash.net.URLLoader;
                        import flash.net.URLRequest;
 
                        public var urlLoader:URLLoader;
 
                        public function Init():void {
                                var PATH:String = "http://test1.ru/test.php";
                                var urlRequest:URLRequest = new URLRequest(PATH);
                                urlLoader = new URLLoader(); // объявления не надо
                                urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
                                urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
                                urlLoader.load(urlRequest);
                        }
 
                        public function urlLoader_complete(evt:Event):void {
                                trace(urlLoader.data); // или trace(evt.target.data);
                        }
                ]]>
        </fx:Script>


rezzanator 18.11.2010 17:27

спасибо большое

"// объявления не надо" - туплю
"// или trace(evt.target.data);" - надо учить =)


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

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