2011-06-15 53 views
0

我正在嘗試使用名爲appcelerator titanium的框架來製作簡單的iphone應用程序。我試圖引入一個XML源代碼並簡單地測試它的長度,但是沒有任何東西被返回(並且沒有錯誤被拋出)。我無法弄清楚發生了什麼事。如果我換這個XML URL出來:Javascript/appcelerator - 無法檢測XML

http://superfad.com/work/rss

,比如說,這個人:

http://api.twitter.com/1/statuses/user_timeline.json?screen_name=Superfad

我能找到的長度就好了,所以我猜它要麼某種跨域問題或格式錯誤的XML等等。這是我的代碼:

var loader = Titanium.Network.createHTTPClient(); 
    // Sets the HTTP request method, and the URL to get data from 
    //loader.open("GET","http://superfad.com/json/featured"); 
    //loader.open("GET","http://api.twitter.com/1/statuses/user_timeline.json?screen_name=Superfad"); 
    loader.open("GET","http://superfad.com/work/rss"); 
    //loader.open("GET","test.xml"); 
    // Runs the function when the data is ready for us to process 
    loader.onload = function() 
    { 
     Ti.API.log('projects!'); //THIS WORKS 
     var projects = eval('('+this.responseText+')'); 
     Ti.API.debug('length' + projects.length) //THIS DOES NOT 

    }; 

任何想法有什麼不對?

回答

2

您正在嘗試將RSS源的xml評估爲json。你的第一個鏈接返回XML,你的第二個鏈接返回JSON。 eval將在json上工作,但不是xml。請注意,不要使用eval來解析json。使用JSON.parse