好吧,我知道有什么问题,但我不明白是什么。通过Javascript解析JSON对象(对象列表)并在其中循环?
我从我写的Web服务中读取服务ArrayList(JSON mediatype)。 去那个地址返回我的JSON字符串。
现在我正在尝试制作一个网页,用于显示值并每隔3秒查看一次页面请求发生的更改。
我该如何解析或使用它?阅读大量的多,我仍然开始..
[是无法将此对象传递给JSP和解析,循环的一切与JSTL?这将是真棒]
这里的js代码:
<script type="text/javascript">
setInterval(function(){
$.ajax({ url: "/MyApp/rest/display", success: function(data){
var objs = $.parseJSON(data);
$.each(objs, function(i,service) {
$("#service").append('<p>'+service+'</p>');
});
}, dataType: "json"});
}, 3000);
</script>
我有一个<div id="service">
编辑: 快到了!
现在我已经这样:
<script type="text/javascript">
setInterval(function(){
$.ajax({ url: "/myApp/rest/display", success: function(data){
$.each(data, function(i,service) {
var cont = 1;
var newdiv = document.createElement('div');
newdiv.setAttribute('id', "service"+i);
$("#service"+i).html('<p>'+service.serviceId+" "+service.queue.lastNumber+'</p>');
document.getElementById("services").appendChild(newdiv);
cont++;
});
}, dataType: "json"});
}, 5000);
</script>
它得到了更新和所有(太好了!),但我有一个问题:它不断创造新的div更大的一个(空的div)内。我怎样才能避免这种情况?
EDIT2:
没关系,我已经做了! 的使用appendChild前刚刚加入这一行:
if(!$("#service"+i).length)
就像一个魅力。谢谢!
OMG!有效!但是我遇到了一个问题,每3秒脚本就为我添加了新的div。我怎样才能更新那些? **编辑:**以后我会尝试jsp代码!谢谢! ;) – Enrichman
@Enrichman:没问题。如果你想''(“#service”)。append('
'+ service +'
');'只需替换而不是追加你应该使用html方法'$(“#service”)。html(''+ service +'
');' –我遇到了问题。最后的服务覆盖所有的服务。 – Enrichman