Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отправка запроса (http://www.flasher.ru/forum/showthread.php?t=132895)

Angver 22.11.2009 21:11

Отправка запроса
 
Здравствуйте.
Мне нужна помощь по ActionScript 3, т.к. сам я не знаю этот язык, а делать надо.

Есть флэшка, в которой есть функция, написанная на AS 2. Надо ее переписать на AS 3

Функция отправляет запрос методом GET с помощью sendAndLoad класса LoadVars. Как я понял, в AS 3 этим занимается URLLoad и его метод load, но я с ним так и не разобрался - запрос не отправляется.

В AS 2 сейчас функция выглядит так:
Код AS1/AS2:

var resultVars=new LoadVars();
resultVars.sendAndLoad('Ссылка', resultVars, 'GET');

А это я написал в AS 3:
Код AS3:

var url:String = 'Ссылка';
var request:URLRequest = new URLRequest(url);
request.method = URLRequestMethod.GET;
var loader:URLLoader = new URLLoader(request);
loader.load(request);

Вместо слова ссылка у меня запрос.

Подскажите, в чем проблема.

SONce 22.11.2009 21:14

Код AS3:

var loader:URLLoader = new URLLoader(request);

убери request

SamFR 22.11.2009 21:14

Скрипт находится в том же домене, что и флэшка?

Добавлено через 1 минуту
Цитата:

Сообщение от SONce (Сообщение 867526)
убери request

Либо уберите loader.load(request), но лучше всё же поступить, как сказал SONce.

Angver 22.11.2009 21:27

Исправил по совету SONce, но запрос все равно не отправляется.
Флэшка находится в том же домене.

Добавлено через 13 минут
Что подумал: а не могут ли быть проблемы из-за того, что я правлю код в Macromedia Flash Professional 8?

Выкладываю функцию полностью.
Код AS1/AS2:

function saveBalance(money) {
 
        var resultVars=new LoadVars();
        resultVars.sendAndLoad(
      'http://domain.ru/location/moneychange/money/'+money+'/',
      resultVars,
      'GET'
          );
}

Код AS3:

function saveBalance(money) {
 
        var url:String = 'http://domain.ru/location/moneychange/money/'+money+'/';
          var request:URLRequest = new URLRequest(url);
        request.method = URLRequestMethod.GET;
        var loader:URLLoader = new URLLoader();
        loader.load(request);
}


SamFR 23.11.2009 02:13

Цитата:

Сообщение от Angver (Сообщение 867530)
а не могут ли быть проблемы из-за того, что я правлю код в Macromedia Flash Professional 8?

Наверное, могут :) Поставьте CS3 хотя бы)

А как вы определяете, что запрос не отправляется? Какие события приходят от URLLoader? Что слышно на серваке?

Angver 23.11.2009 07:51

Цитата:

Сообщение от SamFR (Сообщение 867575)
Наверное, могут :) Поставьте CS3 хотя бы)

Это который Adobe Flash CS3?
Спасибо, попробую.


Цитата:

Сообщение от SamFR (Сообщение 867575)
А как вы определяете, что запрос не отправляется? Какие события приходят от URLLoader? Что слышно на серваке?

У меня стоит дополнение к Файрфоксу, которое называется Firebug. Оно и показывает, идут ли запросы.

ramshteks 23.11.2009 08:52

а вы попробуйте лучше свой лоадер на события подписать, и тогда узнаете идут они или нет. И подпишите на все события тогда узнаете точно где проблема.

SamFR 23.11.2009 16:08

Подписать-то нужно обязательно, но раз файрбаг не видит трафика – то, скорее всего, его нет. Теперь осталось разобраться – почему :)

Подпишитесь хотя бы на следующие события лоадера: Event.OPEN, ProgressEvent.PROGRESS, SecurityErrorEvent.SECURITY_ERROR, IOErrorEvent.IO_ERROR и Event.COMPLETE. И посмотрите, какие из них приходят и в какой последовательности.

И да, забыл спросить: из-под Flash IDE работает? Только поставьте сначала CS3 или CS4)

ramshteks 23.11.2009 16:24

вот посмотрите, у меня была похожая проблема

http://www.flasher.ru/forum/showthread.php?t=132396

Angver 24.11.2009 13:15

Переход на CS3 помог! Флэкша просто публиковалась в AS2.

Теперь весь код надо переписывать на AS3.

Спасибо всем за помощь!


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

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