2010-04-14 27 views
1

我幾天前遇到了這個問題,同時試圖將一個外部xml文件導入到AIR應用程序中。如何使用flash程序員的空氣應用程序加載外部xml?

import flash.net.URLRequest; 
var ldr:Loader = new Loader(); 
var url:String = "http://willperone.net/rss.php"; 
var urlReq:URLRequest = new URLRequest(url); 
ldr.load(urlReq); 
ldr.addEventListener(Event.COMPLETE , function(e) { 
    trace('Wow, completed ...'); 
}); 
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function(e) { 
    trace('IO_ERROR'); 
}); 

總是IO_ERROR出現。 我可能做錯了什麼或需要一點配置,所以請幫助

+0

沒有什麼明顯的是跳出來對我。你可以嘗試跟蹤錯誤信息本身併發布它說的嗎? trace('IO_Error:'+ e); – 2010-04-14 06:27:09

+0

謝謝 顯示錯誤信息 IO_ERROR [IOErrorEvent type =「ioError」bubbles = false cancelable = false eventPhase = 2 text =「錯誤#2035:未找到URL。URL:http://willperone.net /rss.php「errorID = 2035] 請注意,我試圖更改網址並使用URLLoader,同樣的錯誤仍然顯示 – Ayman 2010-04-14 10:03:55

回答

0

謝謝你們, 我發現那裏的問題是: 我沒有指定接收到的內容的類型, 它解決了當我用

request.contentType = "text/xml"; 

,使代碼如下所示:

function getData(onComplete) { 
    var request:URLRequest = new URLRequest("http://..."); 
    request.contentType = "text/xml"; 
    request.data = ""; 
    request.method = URLRequestMethod.POST; 
    var loader:URLLoader = new URLLoader(); 
    loader.addEventListener(Event.COMPLETE ,function(e) { xmlParser(e); onComplete(e); }); 
    try 
    { 
     mainData.splice(0,mainData.length); 
     loader.load(request); 
     return true; 
    } 
    catch (e){ 
     return false; 
    } 
} 


function xmlParser(e) { 
    var xml:XML = new XML(URLLoader(e.target).data); 
    } 
} 
2

IOErrorEvent告訴你,它不能加載你試圖加載的資源。 http://willperone.net/rss.php實際上有什麼?也許一個XML或PHP解析錯誤?我也注意到你正在使用Loader來嘗試加載文本內容。你想用來加載XML(或文本,JSON,二進制等)的類是URLLoaderLoader是一個DisplayObject子類,主要用於將swfs,圖像和可視資源加載到顯示列表中。這是可能的罪魁禍首。

+0

謝謝, 實際上我嘗試使用URLLoader與不同的URL和相同的錯誤仍然顯示這裏有一些細節 IO_ERROR [IOErrorEvent type =「ioError」bubbles = false cancelable = false eventPhase = 2 text =「錯誤#2035:URL Not found。URL:http://willperone.net/rss.php」errorID = 2035] 請注意我測試的代碼由肌酸g使用flash cs4的新AIR項目,我不明白爲什麼它會顯示出來...... – Ayman 2010-04-14 10:06:21

+0

如果您可以導航到瀏覽器中的URL,那麼我認爲它可能是某種類型的php header()問題。檢查你的資源是否有效的XML啓動。 – typeoneerror 2010-04-14 16:55:15

相關問題