Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   LoadVars и PHP (http://www.flasher.ru/forum/showthread.php?t=124801)

r3ddy 08.05.2009 21:29

LoadVars и PHP
 
Здравствуйте! У меня такая проблема. Мне нужно отправить на php-скрипт POST-запрос, получить ответ и вывести его. Вот кусок скрипта:
Код AS1/AS2:

var lv=new LoadVars();
var result_lv=new LoadVars();
lv.s=viewer_id+"api_id=597102method=getUserInfov=2.0RpB658fmCW";
lv.sendAndLoad("http://reddevil1234.awardspace.us/test2.php",result_lv,"POST");
trace(result_lv.tostring());
myname=result_lv[code];

PHP-скрипт возвращает code=lalala. НО вместо lalala ничего не выводится. Почему?

iNils 08.05.2009 21:32

Потому, что код работает асинхронного с загрузкой данных. trace выполняется сразу за sendAndLoad, а ответ на запрос могут прийти через несколько секунд.
Ловите ответ в событие onLoad и там же трейсите.

r3ddy 09.05.2009 19:45

Переделал код на вот такой:
Код AS1/AS2:

var lv=new LoadVars();
var result_lv=new LoadVars();
lv.s=viewer_id+"api_id=597102method=getUserInfov=2.0RpB658fmCW";
lv.sendAndLoad("http://reddevil1234.awardspace.us/test2.php",result_lv,"POST");
 result_lv.onLoad = function(success:Boolean) {
        trace(result_lv.tostring());
    myname=result_lv[code]
    };

но trace возвращает undefined. Вот ответ от сервера:
Код:

HTTP/1.1 200 OK
Date: Sat, 09 May 2009 14:43:15 GMT
Server: Apache
Content-Length: 105
Content-Type: text/html

code=7db1c756f99900bf24b3bb21941e4e7e


iNils 09.05.2009 20:19

Цитата:

но trace возвращает undefined.
Нет такого метода tostring(), есть toString (). О чем это говорит? О том, что вы не внимательны и не аккуратны. Кто вам мешает код отформатировать? У вас табуляция скажет как заяц в поле.

onLoad лучше (я бы сказал обязательно) описывать до sendAndLoad.

Внутри метода не надо писать имя объекта в области видимости которого выполняется метод. Это я о result_lv, пишите this

r3ddy 09.05.2009 21:26

Вот чуть-чуть переделанный скрипт:
Код AS1/AS2:

var lv=new LoadVars();
var result_lv=new LoadVars();
lv.s=viewer_id+"api_id=597102method=getUserInfov=2.0RpB658fmCW";
 result_lv.onLoad = function(success:Boolean) {
        trace(this.toString ());
    myname=this[code]
    };
 
lv.sendAndLoad("http://reddevil1234.awardspace.us/test2.php",result_lv,"POST");

trace возвращает
Код:

code=7db1c756f99900bf24b3bb21941e4e7e%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20&onLoad=%5Btype%20Function%5D
, а в myname ничего нет. Почему после текста у меня %20?


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

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