2016-06-02 4 views
0

У меня есть этот скрипт, который будет анализировать несколько каналов и отображать элементы в div с идентификатором content_1, content_2 и т. Д., В зависимости от количества фидов в скрипте.Анализ синтаксических данных с несколькими атомами вызывает ошибку

См. jsfiddle here.

Однако, сценарий отображает только один из каналов, и я получаю сообщение об ошибке: «Uncaught TypeError: Не удается прочитать свойство„1“в нуль», указывающий на эту строку кода:

$("#content_" + idno + " ul").append('<li><img src="' + img[1] + '"><a href="' + value.link + '" target="_blank">' + value.title + '</a><div class="small">' + pubDate + '</div><div class="description">' + value.contentSnippet + '</div></li>'); 

Anyone кто может понять, в чем проблема?

ответ

0

Попробуйте это ..

function GetFeeds() { 
    var urls = ['http://www.futurity.org/feed/','https://theconversation.com/articles.atom']; 
    urls.forEach(function(Query) { 
    $.ajax({ 
     type: "GET", 
     url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(Query), 
     dataType: 'json', 
     error: function() { 
     console.log('Unable to load feed, Incorrect path or invalid feed'); 
     }, 
     success: function(xml) { 
     $(".spinner").hide(); 
     var idno = parseInt(urls.indexOf(Query)) + 1; 
     console.log('content_' + idno); 
     console.log(xml.responseData.feed.entries); 
     $.each(xml.responseData.feed.entries, function(idx, value) { 
      var pubDate = value.publishedDate; 
      var contentImg = value.content; 
      var getImgSrc = /<img[^>]+src="([^">]+)"/; 
      var img = getImgSrc.exec(contentImg); 
      var firstImg = img.length ? img[1] : ''; 
      $("#content_" + idno + " ul").append('<li><img src="' + firstImg + '"><a href="' + value.link + '" target="_blank">' + value.title + '</a><div class="small">' + pubDate + '</div><div class="description">' + value.contentSnippet + '</div></li>'); 
     }); 
     } 
    }); 
    }); 
} 
GetFeeds(); 
+0

Все та же ошибка, я боюсь ... – Meek

+0

ХВ обновил свой ответ. –

+0

Uncaught TypeError: Невозможно прочитать длину свойства 'null. Но я думаю, что вы близки - ошибка возникает, когда нет изображения. – Meek