[英]Problems with displaying JSON data I got from a server
我是JSON / AJAX的新手,但从服务器获取的JSON对象中显示数据时遇到一些问题。URL“ http:// localhost:8387 / rest / resourcestatus.json”表示我想通过HTML / Javascript显示该对象。该对象存储一些监视信息:
{"groupStatus":[ {"id":"AL Process","time":1332755316976,"level":0,"warningIds":[],"errorIds":[]}, {"id":"AL:instance1","time":1332919465317,"level":0,"warningIds":[],"errorIds":[]}, {"id":"AL:instance2","time":1332919465317,"level":1,"warningIds":["documentarea.locked"],"errorIds":[]}, {"id":"SL","time":1331208543687,"level":0,"warningIds":[],"errorIds":[]} ]}
由于请求的URL与我的域不同,因此我无法创建典型的XMLHttpRequest。.因此,我发现可以通过jQuery的“ getJSON()”方法实现AJAX跨域请求。
我想在表格中显示ID及其级别 。
有什么解决办法可以做到这一点?
$ .getJSON的回调函数在其参数中包含AJAX调用的结果。
$.getJSON('http://localhost:8387/rest/resourcestatus.json', function(data) {
$(data.groupStatus).each(function() {
// do something with $(this).id
});
});
我认为您指的是JSONP 。 参见jQuery.ajax Ex:
var url = 'http://localhost:8387/rest/resourcestatus.json';
$.getJSON(url+'?callback=?', function(data)
{
//data is
/*{
"groupStatus":
[
{"id":"AL Process","time":1332755316976,"level":0,"warningIds":[],"errorIds":[]},
{"id":"AL:instance1","time":1332919465317,"level":0,"warningIds":[],"errorIds":[]},
{"id":"AL:instance2","time":1332919465317,"level":1,"warningIds":["documentarea.locked"],"errorIds":[]},
{"id":"SL","time":1331208543687,"level":0,"warningIds":[],"errorIds":[]}
]
}*/
});
在服务器端,您需要将响应包装到JavaScript函数中: response = Request["callback"] +"("+ response+")";
结果将如下所示:
?({"groupStatus":[{"id":"AL ....})
因此,浏览器实际上将加载有效的Java脚本代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.