JavaScript / Appcelerator - не в состоянии обнаружить XML - PullRequest
0 голосов
/ 16 июня 2011

Я пытаюсь использовать каркас под названием appcelerator titanium для создания простого приложения для iphone. Я пытаюсь ввести источник XML и просто проверить его длину, но ничего не возвращается (и не выдается никаких ошибок). Я не могу понять, что происходит. Если я поменяю этот URL-адрес 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

    };

Есть идеи, что случилось?

1 Ответ

2 голосов
/ 16 июня 2011

вы пытаетесь оценить XML-канал RSS как JSON.Ваша первая ссылка возвращает xml, вторая ссылка возвращает json.eval будет работать на json, но не на xml.Как примечание, не используйте eval для анализа json.используйте JSON.parse.

...