![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2006
Сообщений: 10
|
Доброго времени.
Работаю со связкой MySQL-> AMF(PHP) -> AS3, а имменно: 1. В РНР-файле (" getdata.php ") класс, где описываются методы-SQL-запросы. 2. Класс amf.as - класс, где описан метод доступа к " getdata.php ": package { import flash.net.Responder; import flash.net.NetConnection; public class Amf { private var nc : NetConnection = new NetConnection(); //-- public function Amf(hostname:String) { nc.connect(hostname+"/amfphp/gateway.php"); //--коннектимся к серверу и к обработчику amf nc.objectEncoding=3; //--метод кодирования } /** *Выполняет запросы к amfphp * wht - сервис и имя запрашиваемой функции (дальше в примере покажу) * cb - функция, вызываемая при получении ответа * args - аргументы, которые должны передаться запрашиваемой функции от серверного скрипта, указываются через запятую) т.е. может быть хоть один хоть десять. */ public function toamf(wht:String, cb : Function, ... args) : void { var resp : Responder = new Responder(cb, onFault); //--обработчик ответа сервера, если все ок, то вызываем переданную нам функцию для ответа (cb), если нет, то функцию сообщения об ошибке. nc.call.apply(null,[wht,resp].concat(args)); //--немного непонятно, но вкратце: запускаем функции отсылания запроса на сервер, задаем функцию обратного вызова и параметры + функцию при ошибке выполнения. } private function onFault(res:Object):void { //--при ошибке выполнения запроса trace('К севраку не достучались, ответ: ',res); } } } package { import flash.display.MovieClip; import Amf; //--подключаем наш класс public class Amftest extends MovieClip { public function Amftest() { var amf:Amf=new Amf("http://myservername.ru"); amf.toamf("amftest.getnews.getnews", onGetNews); /* в " getdata.php " описана функция: function getnews() { //--выбираем все новости return mysql_query('select * from news'); } */ } public function onGetNews(o:Object) { trace(o.serverInfo.initialData); } } } и становится очевидно, что result ни капли не изменился, т.к. я его вызываю, а onGetNews ещё не сработал.
__________________
Ёж в противогазе Последний раз редактировалось cn_snipes; 09.02.2010 в 14:52. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Вы сами же и ответили на свой вопрос:
Цитата:
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 10
|
О как бы я хотел ответить на вопрос, курсовая горит ))
Тем не более вопрос остается прежним: как воспользоватся полученными данными? Думаю тут вопрос не столько в специфике AMF, сколько в опыте вледания AS3 - у меня его мало, вот я его и увеличиваю ). Хорошо бы было заставить возвращать искомые данные метод amf.toamf("amftest.getnews.getnews", onGetNews), но как? Пробывал по всякому ![]()
__________________
Ёж в противогазе |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
![]() Цитата:
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 10
|
udaaff вы жестоки :'''(( . Раз так скажите, а нельзя ли как нибудь дождаться значения? Всмысле для AS2 был стандартный механизм для работы с XML :
есть что нить применимое в этой ситуации?
__________________
Ёж в противогазе |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 10
|
пасибо. Буду пробывать
__________________
Ёж в противогазе |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|