Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript解析Rss提要时出现问题_Javascript_Android_Parsing_Rss_Cordova - Fatal编程技术网

使用javascript解析Rss提要时出现问题

使用javascript解析Rss提要时出现问题,javascript,android,parsing,rss,cordova,Javascript,Android,Parsing,Rss,Cordova,我试图定期阅读两个Rss提要URL,并在我的android应用程序中显示最新的提要标题作为通知 由于setinterval函数每8000毫秒调用一次,我希望确保没有相同标题的重复通知 当我在getrss函数中执行console.log时,我能够看到xml对象,但是 我无法看到为var xml、var条目或var标题输出的任何数据。 请指出我可能会继续下去 /* ---------------------- global variables ---------------------- */

我试图定期阅读两个Rss提要URL,并在我的android应用程序中显示最新的提要标题作为通知

由于setinterval函数每8000毫秒调用一次,我希望确保没有相同标题的重复通知

当我在getrss函数中执行console.log时,我能够看到xml对象,但是 我无法看到为var xml、var条目或var标题输出的任何数据。 请指出我可能会继续下去

/* ---------------------- global variables ---------------------- */

    var Rss1_title;
    var Rss2_title;

/* ---------------------- end global variables------------------- */

/* --------- pull latest Rss feed title for first url: ---------- */  

    function update_rss1_feeds(){
    var new_title = getRss("http://yofreesamples.com/category/real-freebies/feed/");
        if(Rss1_title != new_title)

//display the notification

            navigator.notification.alert(
                new_title,  // message
                'New Rss Entry',                 // title
                'New Rss Entry'                  // buttonName
            );

        Rss1_title = new_title;             
    }
/* --------- end : --------- */

/* --------- pull latest Rss feed title for second url: --------- */  

    function update_rss2_feeds(){
    var new_title = getRss("http://yofreesamples.com/category/free-coupons/feed/");
        if(Rss2_title != new_title)

//display the notification

            navigator.notification.alert(
                new_title,  // message
                'New Rss Entry',                 // title
                'New Rss Entry'                  // buttonName
            );

        Rss2_title = new_title;             
    }
/* --------- end : --------- */
这是我解析Rss提要时使用的getrss函数。我可能在这里做错了什么

function getRss(url){
if(url == null) return false;

            // Create Google Feed API address
            var api = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=" + encodeURIComponent(url);
            api += "&output=json_xml"

            var newEntry;
            // Send request
            $.getJSON(api, function(data){
                console.log('testdata',data); // the response is xmlobjest
                // Check for error
                if (data.responseStatus == 200) {

                    var feeds = data.responseData.feed;
                    if (!feeds) {
                        return false;
                    }

                    // Get XML data for media (parseXML not used as requires 1.5+)
                    var xml = getXMLDocument(data.xmlString);
                    var xmlEntries = xml.getElementsByTagName('item');
                    var entry = feeds.entries[0];
                    var title = entry.title;
                    console.log('test',title); // it is not being displayed , it seems its not going inside the if statement
                    return title;
                }else {

                };              

            });             

}
这是函数调用

setInterval('update_rss1_feeds()',7000);
setInterval('update_rss2_feeds()',8000);
当我访问:

http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q=[an rss feed url]&output=json_xml 
我得到一个错误“错误或缺少回调或上下文”,如果我使用回调参数,它工作正常

http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=[an rss feed url]&output=json_xml 

这是因为你的编程技能水平。。。第一个data.responseData可以是!=200或data.responseData.feed==null。。。函数(数据)中的第二个返回语句将不会从函数getRss返回…是的,我知道,但我的问题是当我执行console.log(title)时;我看不到输出。我仍在学习javascript,感谢您对data.responseData的解释。但在我的例子中,nt it==200吗?因为控制台.log(title)从未被调用。。。为什么?很难说没有testdata控制台输出…我可以使用它吗!!谢谢你指出这一点。但是当我执行console.log(title)时,仍然没有得到输出;