Javascript $getJSON不工作-结果为未定义
下面是我试图解析的JSONJavascript $getJSON不工作-结果为未定义,javascript,jquery,json,getjson,Javascript,Jquery,Json,Getjson,下面是我试图解析的JSON {"sites":{"1":{"id":1,"company":"facebook","username":"abc@gmail.com","hint":"mascot"}}} 下面是解析它的javascript代码。它正在工作,然后JSON的结构发生了变化,我一生都无法让它工作。结果是“undefinedundefined”,这意味着它不理解用户名和提示是什么。有什么想法吗 $.getJSON('http://localhost:3000/sites.json',
{"sites":{"1":{"id":1,"company":"facebook","username":"abc@gmail.com","hint":"mascot"}}}
下面是解析它的javascript代码。它正在工作,然后JSON的结构发生了变化,我一生都无法让它工作。结果是“undefinedundefined”,这意味着它不理解用户名和提示是什么。有什么想法吗
$.getJSON('http://localhost:3000/sites.json', 'limit=30', processWebsites);
function processWebsites(data) {
var infoHTML='';
$.each(data, function(website, websiteDetails) {
infoHTML+= websiteDetails.username
infoHTML+= websiteDetails.hint;
});
$('#info').html(infoHTML);
}
最后是HTML
<body>
<div id = "info">
</div>
</body>
我需要一个.sites后的数据。这就解决了问题。我相信费利克斯在上面是正确的。如果你只是安慰一下,你会得到你需要的价值。
更新:添加你的休息
var infoHTML = [];
var data = {"sites":{"1":{"id":1,"company":"facebook","username":"abc@gmail.com","hint":"mascot"}}};
jQuery.each(data.sites, function(){
infoHTML.push(this.username + '<br>' + this.hint);
});
var infoHTML=[];
var数据={“站点”:{“1”:{“id”:1,“公司”:“facebook”,“用户名”:”abc@gmail.com“,”提示“:“吉祥物”}}};
每个(data.sites,function()){
infoHTML.push(this.username+'
'+this.hint);
});
如果你碰巧得到了不止一个分组,那么如果你想分开的话,就用两个br加入它们
$('#info').html(infoHTML.join('<br><br>'));
$('#info').html(infoHTML.join('
'));
我相信还有更雄辩的方法。这太快了,太脏了。你似乎需要
$。每个(data.sites,…)
。你都明白了。非常感谢下面的问题-有没有办法在JSON的每一行后面添加换行符。我现在有两行JSON,它们都在一行中。是否在下面的每个infoHTML的js代码中?是的,您可以这样做。