是什么你的服务器端对象的结构? 比方说你的服务器端对象是这些(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>
喜金,欢迎来到SO!你能否编辑你的问题,要理解你试图达成的目标有点困难。 – karim79 2011-01-06 21:46:33
@ karim79:我想他只是想展示5件事情,并且当从数据源中获取更新的东西时,将它放在列表的顶部,然后将旧的东西滑出。 (Ajaxy总是显示最新的五件事) – Thanatos 2011-01-06 21:48:58