2016-05-11 1 views
0

Я пытаюсь поставить функцию таймера, поэтому данные из XML будут обновляться каждые 5 секунд? Использование некоторых exaples, найденных в Интернете, не работало так, как будто он кэширует XML-файл.Действия по загрузке данных XML после периода времени

Вот мой код:

var xmlData:XML = new XML(); 
var theURL_ur:URLRequest = new URLRequest("data.xml"); 
var loader_ul:URLLoader = new URLLoader(theURL_ur); 
loader_ul.addEventListener("complete", fileLoaded); 

function fileLoaded(e:Event):void 
{ 
    xmlData = XML(loader_ul.data); 

    line1.text = xmlData.line1; 
    time1.text = xmlData.time1; 

} 
+1

Чтобы избежать проблемы кэша, вы можете использовать что-то вроде этого, например: 'вар theURL_ur: "?" URLRequest = новый URLRequest ("data.xml" + + (новая дата() .getTime())); '... – akmozo

ответ

1

Понял работает (утром лучше с ночи). Вот код:

var my_xml_loader:URLLoader; 
var timerRefreshRate:Number = 5000; 
var fatherTime:Timer = new Timer(timerRefreshRate, 0); 
fatherTime.addEventListener(TimerEvent.TIMER, processXML); 
fatherTime.start(); 
processXML(); 

function processXML(event:Event = null):void{ 

    my_xml_loader = new URLLoader(); 
    var cacheBuster:String = "?"+(new Date()).time.toString(); 
    my_xml_loader.load(new URLRequest("your_url"+cacheBuster)) 
    my_xml_loader.addEventListener(Event.COMPLETE, loadvars); 

} 

function loadvars (e:Event = null):void{ 
    var my_xml:XML = new XML(e.target.data); 
    line1.text = my_xml.line1; 
    time1.text = my_xml.time1; 

}