Как отобразить результаты RSS ленты в списке JQuery

0

Я хотел бы отобразить результаты моего блога в виде списков мобильных jQuery. Пока все заголовки, дата, автор и фрагменты отображаются по очереди, а также я хотел бы иметь возможность нажимать на каждое сообщение и просматривать содержимое напрямую в виде мобильного формата. Это мой код:

$(document).ready((function(){
     url = 'http://hopexxx.com/category/daily-devotion/feed/';
        $.ajax({
        type: "GET",
        url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&callback=?&q=' + encodeURIComponent(url),
        dataType: 'json',
        error: function(){
            alert('Unable to load feed, Incorrect path or invalid feed');
        },
        success: function(xml){
            postlist = xml.responseData.feed.entries;
            //console.log(postlist);
            var data='<ul data-role="listview" data-filter="true">';
            $.each(postlist, function(idx, data) {
                $('#postlist').append('<div class="entry">' + data.title + '</div>');
                $('#postlist').append('<div class="entry">' + data.author + '</div>');
                $('#postlist').append('<div class="entry">' + data.publishedDate + '</div>');
                $('#postlist').append('<div class="entry">' + data.contentSnippet + '</div>');
                console.log(data);
            '</ul>';
            });
        }
    });
}));

html-код:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    <script src="css/style.css"></script>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
    <script src="js/script.js"></script>
</head>
<body>

    <div id="blog" data-role="page">
    <div data-role="header" class="sys_hd" data-position="fixed" data-id="sys_header" >
        <h1>Sysads Posts</h1>
        </div><!-- header -->
        <div data-theme="c" data-role="content" id="postlist"> </div><!-- content -->
        <div data-role="footer" data-position="fixed" data-id="sys_footer" >
                    <div data-role="navbar" >
                <ul>
                    <li><a href="#blog" class="sys_ft">Home</a></li>
                    <li><a href="#blog" class="sys_ft">Disclaimer</a></li>
                </ul>
            </div><!-- navbar --> 
        </div><!-- footer --> 
    </div><!-- page -->
</body>
</html>
Теги:
jquery-mobile
rss

1 ответ

0
Лучший ответ

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

$(document).ready(function(){
    url = 'http://hopexxx.com/category/daily-devotion/feed/';
    $.ajax({
        type: "GET",
        url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&callback=?&q=' + encodeURIComponent(url),
        dataType: 'json',
        error: function(){
            alert('Unable to load feed, Incorrect path or invalid feed');
        },
        success: function(xml){
            var postlist = xml.responseData.feed.entries;
            var html = '<ul data-role="listview" data-filter="true">';
            $.each(postlist, function(idx, data) {
                html += '<li>';
                html += '<a href="#">';
                html += '<div class="entry">' + data.title + '</div>';
                html += '<div class="entry">' + data.author + '</div>';
                html += '<div class="entry">' + data.publishedDate + '</div>';
                html += '<div class="entry">' + data.contentSnippet + '</div>';
                html += '</a>';
                html += '</li>';
            });
            html += '</ul>';
            $("#postlist").append(html);
            $("#postlist ul[data-role=listview]").listview();
        });
    });
});

Все, что я сделал, это обматывать сообщения в отдельных элементах списка, а также в теге ссылки. Я не знаю, как вызывается URL для ссылки (какое свойство она находится в возвращаемых данных), поэтому я оставил это как # для заполнения.

Вот рабочий пример...

  • 0
    спасибо Арчер за ваш быстрый ответ. Я попробовал ваш вариант, но он все еще не отображает результат с разделителем строк. С опцией обновления я получаю: Ошибка: невозможно вызвать методы на просмотр списка до инициализации; попытался вызвать метод «обновить»
  • 0
    Хорошо - я удалил обновление и просто оставил его как вызов инициализации. Попробуй это :)
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню