Javascript 赢得JSON数据';不能通过jQuerys getJSON()显示
下面的代码应该显示JSON对象的Javascript 赢得JSON数据';不能通过jQuerys getJSON()显示,javascript,jquery,json,Javascript,Jquery,Json,下面的代码应该显示JSON对象的id,这是我从服务器获得的。我找不到错误,有人能帮我吗?提前谢谢你 当http://localhost:8387/nscalemc/rest/mon/resourcestatus.json称为: { "groupStatus": [ { "id": "Application Layer Configuration-ApplicationLayer", "time": 1332755316976
id
,这是我从服务器获得的。我找不到错误,有人能帮我吗?提前谢谢你
当http://localhost:8387/nscalemc/rest/mon/resourcestatus.json
称为:
{
"groupStatus": [
{
"id": "Application Layer Configuration-ApplicationLayer",
"time": 1332755316976,
"level": 0,
"warningIds": [],
"errorIds": []
},
{
"id": "Application Layer-ApplicationLayer:nscalealinst2",
"time": 1333431531046,
"level": 0,
"warningIds": [],
"errorIds": []
},
{
"id": "Application Layer-ApplicationLayer:nscalealinst1",
"time": 1333431531046,
"level": 1,
"warningIds": [
"documentarea.locked"
],
"errorIds": []
},
{
"id": "Storage Layer-StorageLayerInstance1",
"time": 1331208543687,
"level": 0,
"warningIds": [],
"errorIds": []
}
]
}
我的HTML文件gadget.HTML
:
<html>
<head>
<title>Monitor</title>
<link href="css/gadget.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<script type="text/javascript" src="js/gadget.js"></script>
</head>
<body>
<div id="content"></div>
</body>
</html>
班长
我的JavaScript文件“gadget.js”:
fetch_JSON();
函数fetch_JSON(){
变量url=”http://localhost:8387/nscalemc/rest/mon/resourcestatus.json";
$.getJSON(url+'?回调=?',函数(数据){
$(data.groupStatus).each(函数(){
$('#content').append('ID:'+$(this.ID+'');
});
});
}
编辑:
感谢您的解决方案!我通过Firebug进行了调试,发现getJSON调用以状态“401 unauthorized”结束。您应该这样做
$('#content').append('<p>ID: ' + this.id+ '</p>');
$('#content').append('ID:'+this.ID+'');
在这里拉小提琴
编辑-当然,您应该使用ready处理程序来确保dom存在(我不认为这是您的情况,因为这里涉及到ajax调用,但最好确保
$(function() {
var url = "http://localhost:8387/nscalemc/rest/mon/resourcestatus.json";
$.getJSON(url+'?callback=?', function(data) {
$(data.groupStatus).each(function() {
$('#content').append('<p>ID: ' + this.id+ '</p>');
});
});
});
$(函数(){
变量url=”http://localhost:8387/nscalemc/rest/mon/resourcestatus.json";
$.getJSON(url+'?回调=?',函数(数据){
$(data.groupStatus).each(函数(){
$('#content').append('ID:'+this.ID+'');
});
});
});
您正在立即运行脚本,并已将其放在div之前。#content
在尝试向其添加数据时不存在
将脚本移动到
$(文档).ready(函数()之前){
fetch_JSON();
函数fetch_JSON(){
变量url=”http://localhost:8387/nscalemc/rest/mon/resourcestatus.json";
$.getJSON(url+'?回调=?',函数(数据){
$(data.groupStatus).each(函数(){
$('#content').append('ID:'+this.ID+'');
});
});
}
});
btw:getJSON方法中是否需要“?callback=?”?是否确实正在执行函数?也许应该在函数fetch_JSON(){alert('here');}中添加一个alter只是为了确保不-仅适用于JSONP请求。您可以删除它。不,不知道“?callback=?”的函数会是什么be@RoryMcCrossan这是正确的,但是他正在进行一个AJAX调用,他没有附加事件,所以我认为解决方案的问题不在这里,我已经更改了它,但是getJSON中的函数似乎不会被扩展已执行。我通过firebug和“$(data.groupStatus)对其进行了调试。未调用每个(function(){”函数。@P4tR但在firebug(网络面板下)中,是否看到状态为200的调用结束?啊,我不知道该面板。.调用以“401 unauthorized”结束@P4tR您是否返回jsonp?好的,我找到了解决方案..问题是,我必须添加一个带有用户名和pw的请求头..但仍然感谢您的帮助!
$(function() {
var url = "http://localhost:8387/nscalemc/rest/mon/resourcestatus.json";
$.getJSON(url+'?callback=?', function(data) {
$(data.groupStatus).each(function() {
$('#content').append('<p>ID: ' + this.id+ '</p>');
});
});
});
$(document).ready(function(){
fetch_JSON();
function fetch_JSON() {
var url = "http://localhost:8387/nscalemc/rest/mon/resourcestatus.json";
$.getJSON(url+'?callback=?', function(data) {
$(data.groupStatus).each(function() {
$('#content').append('<p>ID: ' + this.id+ '</p>');
});
});
}
});