JQuery JSON помощь - PullRequest
       4

JQuery JSON помощь

0 голосов
/ 07 января 2011

хорошо, я новичок в jQuery и JSON, но я сделал это, поэтому получил некоторую информацию из базы данных в формате JSON, и теперь я хочу показать результаты в хорошем виде, но я не знаю, как;)

я хочу показать 5 новых тем на моей странице, поэтому этот скрипт будет пытаться загружаться все время или мне нужно что-то еще делать?

Я хочу, чтобы он отображал 5 самых новыхтемы и когда есть какая-то новая тема, я должен скользить вниз, а 6 потоков внизу должны исчезнуть

Вот мой код

<script type="text/javascript">
$.getJSON('ajax/forumThreads', function(data) {
    //$('<p>' + data[0].overskrift + '</p>').appendTo('#updateMe > .overskrift');

    $('<div class="overskrift">' + data[0].overskrift + '</div>') {
        $(this).hide().appendTo('updateMe').slideDown(1000);
    }

    //alert(data[0].overskrift);

});
</script>

1 Ответ

0 голосов
/ 07 января 2011

Какова структура вашего серверного объекта? Допустим, ваш серверный объект является одним из следующих (c #):

public class ForumThread
{
    public string Title { get; set; }
    public string Content { get; set; }
    public string PostedBy { get; set; }
}

Тогда ваша функция JavaScript будет иметь доступ к каждому свойству следующим образом:

<script type="text/javascript">
    $.getJSON(
        'ajax/forumThreads', 
        function(data) {
            alert(data.Title);
            alert(data.Content);
            alert(data.PostedBy);
        }
    });
</script>

Если вы хотите вернуть список элементов, у вас может быть объект ответа контейнера следующим образом:

public class ForumThreadList
{
    public List<ForumThread> Threads { get; set; }
}

.. и вы получите доступ к списку следующим образом:

<script type="text/javascript">
    $.getJSON(
        'ajax/forumThreads', 
        function(data) {
                for (var i = 0; i < data.Threads.length; i++) {
                    alert(data.Threads[i].Title);
                    alert(data.Threads[i].Content);
                    alert(data.Threads[i].PostedBy);
                }
        }
    });
</script>

Чтобы добавить новый предмет, вы можете попробовать что-то вроде этого:

Предположим, ваш html:

<body>
    <div id="threadContainer">
        <!-- javascript will add divs like this:
            <div class='threadItem'>Content!</div>
        -->
    </div>
</body>

Ваш javascript может быть таким:

<script type="text/javascript">
    $.getJSON(
        'ajax/forumThreads', 
        function(data) {
            for (var i = 0; i < data.Threads.length; i++) {
                var threadItem = $("<div class='threadItem'>" + data.Threads[i].Title + "</div>");
                var existingItemCount = $("#threadContainer > .threadItem").length;
                if (existingItemCount >= 5) {
                    $("#threadContainer > .threadItem:last").remove();
                }
                if (existingItemCount == 0) {
                    $("#threadContainer").append(threadItem);   
                }
                else {
                    threadItem.insertBefore($("#threadContainer > .threadItem:first")); 
                }

            }
        }
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...