PDA

Просмотр полной версии : Отправка запроса


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

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

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

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

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


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

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
var loader:URLLoader = new URLLoader(request);

убери request

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

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

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

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

Выкладываю функцию полностью.

function saveBalance(money) {

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



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
а не могут ли быть проблемы из-за того, что я правлю код в Macromedia Flash Professional 8?

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

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

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

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


А как вы определяете, что запрос не отправляется? Какие события приходят от 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.

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