2011-06-15 56 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