Какова структура вашего серверного объекта?
Допустим, ваш серверный объект является одним из следующих (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>