【发布时间】:2012-01-11 20:38:20
【问题描述】:
好的,我知道出了点问题,但我不明白是什么。
我从我编写的 Web 服务中读取了服务的 ArrayList(采用 JSON 媒体类型)。 转到那个地址会返回 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)
像魅力一样工作。谢谢!
【问题讨论】:
标签: java javascript ajax json jsp