通过Javascript解析JSON对象(对象列表)并在其中循环?
好吧,我知道有什么不对,但我无法理解。
我从我写的Web服务中读取了一个服务的ArrayList(JSON mediatype)。 转到该地址会返回json字符串。
现在,我正在尝试制作一个网页,用于显示值,并每3秒查看一次请求对页面的更改。
我该如何解析或使用它? 阅读很多,我仍然是开始..
[无法将此对象传递给JSP并使用JSTL解析,循环和所有内容? 那将是真棒!]
这里是js代码:
setInterval(function(){ $.ajax({ url: "/MyApp/rest/display", success: function(data){ var objs = $.parseJSON(data); $.each(objs, function(i,service) { $("#service").append(''+service+'
'); }); }, dataType: "json"}); }, 3000);
我有一个
编辑:差不多了!
现在我这样:
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(''+service.serviceId+" "+service.queue.lastNumber+'
'); document.getElementById("services").appendChild(newdiv); cont++; }); }, dataType: "json"}); }, 5000);
它得到了更新和所有(很好!)但我有一个问题: 它不断在较大的一个(空div)内创建新的div 。 我怎么能避免这个?
EDIT2:
没关系,我做完了! 只需在appendChild之前添加此行:
if(!$("#service"+i).length)
奇迹般有效。 谢谢!
使用JQuery,您不需要解析data
因为在设置dataType: "json"
时它已经被解析为JSON。
$.ajax({ url: "/MyApp/rest/display", success: function(data) { $.each(data, function(i,service) { $("#service").append(''+service+'
'); });}, dataType: "json" });
PS。 如果这不起作用,请发布您的AJAX调用返回的JSON。
编辑:这是JSTL的处理方式:创建一个JSF或JSP,它不返回完整的HTML页面,但只是你想要的#service
div。 让我们调用页面doit.jsp
。 现在我们可以使用ajax将它放在#service
div中。
$.ajax({ url: "doit.jsp", success: function(data) { $("#service").html(data); });
- 控制器中的Spring Boot @Async方法同步执行
- 为什么HtmlUnitDriver不执行JavaScript?
- 如何使用struts2提交标签作为按钮而不提交表格?
- 如何通过单击html页面中的菜单从jsp调用java方法?
- 向Servlet发出AJAX POST请求失败
- 没有cookie的Servlet会话+仅返回JSON的ajax请求
- java.lang.AbstractMethodError:org.apache.xerces.dom.ElementImpl.getTextContent()Ljava / lang / String
- 如何使用jQuery Ajax将javascript数组发送到struts动作
- ajax + servlet国家城市列表