我正在尝试创建一个简单的小jquery函数,它从url中提取JSON数据,然后遍历每个对象。我想要做的就是在console.log中调用object.name,以便我知道它正在工作。到目前为止,它没有工作:(我检查了Chrome的开发人员控制台中的网络选项卡,并在响应中显示返回了json数据。问题是我无法将object.name转到console.log。如果有人可以帮助指出问题我会很高兴。
这是脚本:
function getJSON(){
$.ajax({
type: 'GET',
url: '/api/data.json',
success: function(data){
$.each(data, function(index, object){
console.log(object.name);
});
}
});
}
getJSON();
这是JSON数据:
[
{
id: 1,
name: "Greg",
lastname: "Sugaro",
school: "Georgia Tech"
},
{
id: 2,
name: "Mike",
lastname: "Wilder",
school: "UGA"
}
]
答案 0 :(得分:0)
当我使用你的JSON时,$.each
函数对我来说很好
FIDDLE
所以我猜你的ajax调用有问题
1.返回类型不是JSON格式。
2.如果它的json使用
json.stringify(data)
查看内容
在之前的评论中,您提到“我在$ .each之前尝试了console.log(数据)并且没有输出”这意味着您的ajax调用没有返回任何响应。检查你的来电
答案 1 :(得分:0)
试试这个:
$.ajax({
type: 'GET',
url: '/api/data.json',
success: function(data){
objects = $.parseJSON(data)
for(i=0; i<data.length; i++)
console.log(objects[i].name);
}
});
答案 2 :(得分:0)
所以....我得到了代码!见下文!
$(document).ready(function(){
$('.button').click(function(){
$.ajax({
type: 'GET',
url: '/api/data.json',
success: function(data){
console.log("success", data);
$.each(data, function(index, object){
$('#data-div').append('<p>' + object.name + '</p>');
});
}
});
});
});
&#13;