简单的Jquery Ajax获取JSON数据功能

时间:2015-03-18 01:21:13

标签: jquery ajax json

我正在尝试创建一个简单的小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"
	}
]

3 个答案:

答案 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)

所以....我得到了代码!见下文!

&#13;
&#13;
$(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;
&#13;
&#13;