![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Mar 2009
Сообщений: 107
|
Доброго времени суток.
Написал собственный класс для отправки и получения данных с сервера/на сервер вот класс package main{ import flash.display.Sprite; import flash.events.*; import flash.system.*; import flash.net.*; public class LoadData extends Sprite { private var Loader:URLLoader; private var Request:URLRequest; public var varTo:URLVariables; public var vars:URLVariables; public function LoadData():void { } public function setLoadData():void { varTo = new URLVariables(); } public function go(url:String):void { System.useCodePage = true; Request = new URLRequest(url); Request.data = varTo; Request.method = URLRequestMethod.POST; Loader = new URLLoader(); Loader.dataFormat = URLLoaderDataFormat.VARIABLES; Loader.load(Request); Loader.addEventListener(Event.COMPLETE, completeHandler); Loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); Loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } private function completeHandler(event:Event):void { vars = new URLVariables(Loader.data); clearEvents(); dispatchEvent(new Event('loadComplete')); } private function securityErrorHandler(event:SecurityErrorEvent):void { clearEvents(); } private function ioErrorHandler(event:IOErrorEvent):void { clearEvents(); } private function clearEvents():void { Loader.removeEventListener(Event.COMPLETE, completeHandler); Loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); Loader.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } } } package main{ import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; public class refrashBattle extends Sprite { private var connect:LoadData = new LoadData(); public function refrashBattle():void { doTime(); } private function doTime():void { connect.setLoadData(); connect.varTo.myName = 'Вася'; connect.varTo.myText = 'текст текст текст'; connect.go('http://localhost/1.php'); connect.addEventListener('loadComplete', contentBattle, false, 0, true); intervalReftash = setTimeout(doTime, 5000); trace('refrash'); } private function contentBattle(event:Event):void { connect.removeEventListener('loadComplete', contentBattle); trace(connect.vars.toString()) } } }
По началу все нормально, но потом скажем раз в 10-15 запусков (Ctrl+Enter), первый раз передаются двойные переменные вида "newMyName=Вася&newMyName=Вася&newMyText=текст текст текст&newMyText=текст текст текст", а через 5 секунд когда идет повторная загрузка переменные передаються нормально, то есть только в первый раз (то есть при первом запуске флешьки) такая проблема и, то не чаще чем раз в 10-15 запусков. Добавлено через 4 минуты Разжую еще больше Первый запуск &newMyName=Вася&newMyText=текст текст текст через 5 секунд &newMyName=Вася&newMyText=текст текст текст через 5 секунд &newMyName=Вася&newMyText=текст текст текст через 5 секунд &newMyName=Вася&newMyText=текст текст текст и т.д., но иногда раз в 10-15 запусков идет так Первый запуск newMyName=Вася&newMyName=Вася&newMyText=текст текст текст&newMyText=текст текст текст через 5 секунд &newMyName=Вася&newMyText=текст текст текст через 5 секунд &newMyName=Вася&newMyText=текст текст текст через 5 секунд &newMyName=Вася&newMyText=текст текст текст |
|
|||||
|
попробуйте сделать так чтобы имя экземпляра класса URLLoader у вас не совпадало с названием нативного класса Loader
|
|
|||||
|
Регистрация: Mar 2009
Сообщений: 107
|
В классе LoadData заменил везде Loader на myLoader, но результат тот же =(
|
|
|||||
|
у меня все работает ок
|
|
|||||
|
Регистрация: Mar 2009
Сообщений: 107
|
может стоит перейти на XML как думаете?
|
|
|||||
|
Цитата:
Но в любом случае это не спасет от ошибок в коде. Кстати, так и не смог воспроизвести тот баг. |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
2 vvvvvvf: соблюдайте конвенции наименований и, может быть, — будет Вам щастье.
ЗЫ: использовать служебные слова типа Loader и connect - не стоит (хто его знает как они по индусски понимаются)
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 19.06.2009 в 23:40. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|