|
|
|||||
[+1.3 30.09.11]
[+ 31.08.11] Регистрация: Sep 2010
Сообщений: 95
|
Задачка про URLLoader
Доброго времени суток!
Продолжаю мучить Мука чтобы поженить php b Flash. Если не лень, помогоите пожалуйста. Есть честно скачаный код, который работает. Но !!! Если я добавляю юзера, я не вижу своего нового юзера сразу. Вижу все, если только перезагружаю флешку. Как написать функцию (уже пишу она в конце называется function F_BG_bg(event:Event){ } ) чтобы эта функция опять все выводила с новыми данными? // Загрузка XML var urlRequest:URLRequest = new URLRequest("http://www.shlagbaum-service.ru/3/messages5.xml"); var urlLoader:URLLoader = new URLLoader(); urlLoader.addEventListener (Event.COMPLETE,fileLoaded); urlLoader.load (urlRequest); // Настройка XML var myXML:XML = new XML(); myXML.ignoreWhitespace = true; var xmlList:XMLList; // Объявление массивов для хранения данных var arrayName:Array = new Array(); var arrayTitle:Array = new Array(); var arrayDate:Array = new Array(); var arrayFull:Array = new Array(); // Блокируем кнопки 'Next' и 'Previous' nextBt.enabled = false; prevBt.enabled = false; // Заполняем массивы данными из XML var xmlName:String; function fileLoaded (event:Event):void { myXML = XML(event.target.data); xmlList = myXML.children(); for (var i:int=0; i<xmlList.length(); i++) { xmlName = xmlList[i].name;//////////////// var xmlTitle:String = xmlList[i].title; var xmlDate:String = xmlList[i].date; var xmlFull:String = xmlList[i].full; arrayName.push (xmlName); arrayTitle.push (xmlTitle); arrayDate.push (xmlDate); arrayFull.push (xmlFull); if (i == xmlList.length() - 1) { updateText (); } if (i > 4 ) { nextBt.enabled = true; } } } // Заполняем текстовое поле для отображения сообщений messageText.htmlText = "Здесь пишем!"; var maximumMessages:Number = 5; var currentMessages:Number = 0; function updateText () { messageText.htmlText = ""; if (arrayName.length <= maximumMessages) { maximumMessages = arrayName.length; nextBt.enabled = false; } if (currentMessages < 0) { currentMessages = 0; maximumMessages = 5; nextBt.enabled = true; } for (var i = currentMessages; i<maximumMessages; i++) { messageText.htmlText += ("<b><u>Имя:</u></b> " + arrayName[i]); messageText.htmlText += ("<b><u>Тема:</u></b> " + arrayTitle[i]); messageText.htmlText += ("<b><u>Дата:</u></b> " + arrayDate[i]); messageText.htmlText += ("<b><u>Сообщение:</u></b> " + arrayFull[i]); messageText.htmlText += ("....................................................."); } currentMessages=i; scroller.scrollTarget=messageText; } // Проверяем, нажимаются ли кнопки 'Next' или 'Previous' nextBt.addEventListener (MouseEvent.MOUSE_UP,nextFunc); prevBt.addEventListener (MouseEvent.MOUSE_UP,prevFunc); // 'Next' функция function nextFunc (event:MouseEvent) { messageText.htmlText=""; maximumMessages+=5; updateText (); prevBt.enabled=true; //urlLoader.load (urlRequest);////////////////////////////////////////// } // 'Previous' функция function prevFunc (event:MouseEvent) { messageText.htmlText=""; maximumMessages-=5; currentMessages-=10; nextBt.enabled = true; updateText (); if (currentMessages<=5) { prevBt.enabled=false; } } // Объявляем переменные чтоюы хранить имя пользователя, title и message // Также убедимся, что поля ввода пустые inputName.text = ""; var newName:String = ""; inputTitle.text = ""; var newTitle:String = ""; inputFull.text = ""; var newFull:String = ""; // Проверим, написали ли что-либо в поля ввода function onEnterFrame (ev:Event):void { if (inputName.text != "" && inputTitle.text != "" && inputFull.text != "") { submitBt.enabled = true; } } // Вызываем функцию 'onEnterFrame' в каждом фрейме, 30 раз в секунду addEventListener (Event.ENTER_FRAME, onEnterFrame); // Проверяем, нажимается ли кнопка 'submitBt' submitBt.addEventListener (MouseEvent.MOUSE_UP,sendData); // 'sendData' функция function sendData (event:MouseEvent):void { //Создаем данные var dateToday:Date = new Date(); var thismonth:uint = dateToday.getMonth(); var month:Array = new Array('January','February','March','April','May','June','July','August','September','October','November','December'); var dateStr:String = (dateToday.getDate()+" "+month[thismonth]+" "+dateToday.getFullYear()); // Вводим инфу пользователя в переменные newName = inputName.text; newTitle = inputTitle.text; newFull = inputFull.text; // Создаем новый xml код с данными юзверя var newItem:XML = XML("<message><name>" + newName + "</name><title>" + newTitle + "</title><date>"+ dateStr+ "</date><full>" + newFull + "</full></message>"); // Добавляем новый xml код к оригинальному xml коду 'myXML' myXML.appendChild (newItem); // Создаем новый запрос для php файла var request:URLRequest = new URLRequest("http://www.shlagbaum-service.ru/3/messages5.php"); request.data = myXML; request.contentType = "text/xml"; request.method = URLRequestMethod.POST; // Посылаем xml данные в php var loader:URLLoader = new URLLoader( ); loader.load ( request ); loader.addEventListener ( Event.COMPLETE, loaderDone ); } // Перезагружаем гостевую книгу для отображения новой информации function loaderDone (evt:Event):void { arrayName = []; arrayTitle = []; arrayDate = []; arrayFull = []; inputName.text = ""; inputTitle.text = ""; inputFull.text = ""; submitBt.enabled = false; maximumMessages = 10;//////////////////////////// currentMessages = 0; messageText.htmlText = ""; urlLoader.load (urlRequest); } tracee.addEventListener(MouseEvent.CLICK, F_BG_bg); var n:*; //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! function F_BG_bg(event:Event){ urlLoader.addEventListener (Event.COMPLETE,fileLoaded); urlLoader.load (urlRequest); myXML = new XML(); myXML.ignoreWhitespace = true; myXML = XML(event.target.data); xmlList = myXML.children(); for (var i:int=0; i<xmlList.length(); i++) { xmlName = xmlList[i].name;//////////////// var xmlTitle:String = xmlList[i].title; var xmlDate:String = xmlList[i].date; var xmlFull:String = xmlList[i].full; arrayName.push (xmlName); arrayTitle.push (xmlTitle); arrayDate.push (xmlDate); arrayFull.push (xmlFull); if (i == xmlList.length() - 1) { updateText (); } if (i > 4 ) { nextBt.enabled = true; } } messageText.htmlText = ""; if (arrayName.length <= maximumMessages) { maximumMessages = arrayName.length; nextBt.enabled = false; } if (currentMessages < 0) { currentMessages = 0; maximumMessages = 5; nextBt.enabled = true; } for ( i = currentMessages; i<maximumMessages; i++) { messageText.htmlText += ("<b><u>Имя:</u></b> " + arrayName[i]); messageText.htmlText += ("<b><u>Тема:</u></b> " + arrayTitle[i]); messageText.htmlText += ("<b><u>Дата:</u></b> " + arrayDate[i]); messageText.htmlText += ("<b><u>Сообщение:</u></b> " + arrayFull[i]); messageText.htmlText += ("....................................................."); } currentMessages=i; scroller.scrollTarget=messageText; arrayName = []; arrayTitle = []; arrayDate = []; arrayFull = []; inputName.text = ""; inputTitle.text = ""; inputFull.text = ""; submitBt.enabled = false; maximumMessages = 10;//////////////////////////// currentMessages = 0; messageText.htmlText = ""; urlLoader.load (urlRequest); trace(xmlName); } тест : http://www.shlagbaum-service.ru/3/XMLGuestBook5.swf Добавлено через 5 минут На самом деле дико туплю вторые сутки. Что ни делал не получается... |
|
|||||
Регистрация: Mar 2007
Сообщений: 545
|
У вас ХМЛ берется из кэша, добавляйте случайный параметр (время) к пути к ХМЛ файлу.
|
|
|||||
[+1.3 30.09.11]
[+ 31.08.11] Регистрация: Sep 2010
Сообщений: 95
|
Спасибо!!!!!!!!!!
Добавлено через 27 часов 54 минуты Как Вы были правы!!! Тварь из кеша грузила! Спасибо, Респект и Уважуха!!!!! |
Часовой пояс GMT +4, время: 00:34. |
|
« Предыдущая тема | Следующая тема » |
|
|