Показать результат JSON на странице

0

У меня есть следующие js-скрипты и html-коды и вы хотите получить результат на странице. Когда я запускаю его в консоли, я вижу результаты следующим образом:

[Object {title= "Они не лук, они не заработали", link = "http://xxxxxxx.com/bow-burn/", author = "Admin", more...}, Object {title= "When последний был ли вы античными... антамидами вашей жизни? ", link =" http://xxxxxxx...significant-areas-life/", author =" Admin ", more...}, Object {title="Брак является почетным во всех...", link = "http://xxxxxxx...arriage-honourable-all/", author = "Admin", more...}, Object {title= "Жилье в крепостях Бог ", link =" http://xxxxxxx...elling-strongholds-

html-код:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">

    <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
    Remove this if you use the .htaccess -->
    <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>

Код js:

$(document).ready((function(){
     url = 'http://xxxxxxxx.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);
        }
    });
}));
Теги:

5 ответов

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

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

success: function(data ){
            var postlist = data.responseData.feed.entries;
            var html = '<ul data-role="listview" data-filter="true">' ;
            for (var i = 0 ; i < 10 ; i++) {
                var entry = postlist[i];
                html += '<li>';
                html += '<a href="' + entry.link + '">' ;
                html += '<div>' + entry.title + '</div>' ;
                html += '<div>' + entry.author + '</div>' ;
                html += '</a>';
                html += '</li>';
            }
            html += '</ul>';
           $( "#postlist" ).append(html);

        }});
1

Это может быть неправильный json. Что говорит http://json.parser.online.fr/?

  • 0
    json parser говорит: «Выражение JSON должно быть объектом или массивом
  • 0
    С этим ответом я подразумевал, что данные JSON, которые поступают, неверны. Посмотрите, какой сериализатор вы используете.
0

Из вашего вопроса не совсем ясно, чего вы пытаетесь выполнить, но из названия и предоставленного кода я предполагаю, что вы хотите добавить извлеченные записи в часть "#postlist" на своей странице. Если это правильно, вы можете сделать что-то вроде этого:

success: function(xml){
    postlist = xml.responseData.feed.entries;

    $.each(postlist, function(entry){

         $('#postlist').append($('<div class="entry">' + entry.title + '</div>'));

    });    

}

И, очевидно, добавьте все, что вам нравится по разметке.

Надеюсь, это поможет.

  • 0
    я только что попробовал это, получая неопределенный
0

Попробуйте метод stringfy:

JSON.stringfy(obj)
0

пытаться:

for(var i in postlist) {
   var obj = postlist[i];
   console.log("title >>>  "+obj.title);
   console.log("link>>>  "+obj.link);
   ...........//other properties
}

Ещё вопросы

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