2014-05-07 94 views
0

我是一个json的新手,现在正在与它战斗。 :)我得到了Ajax调用的响应,我想从json响应中获取所有的id值。我不知道我做错了什么,我已经尝试了大部分解决方案,但没有给我一个肯定的答案。通过javascript访问JSON

这是我的代码:

$.ajax({ 
    url: 'Actions.php?action=update', 
    type: 'post', 
    data: '&id='+$id, 
}).success(function(data) { 
    var jsondata = JSON.parse(data); 

    $.each(jsondata, function(i, item) { 
     console.log(item.Records.id); 
    });   
}); 

和错误,我得到的是这样一句:

TypeError: item.Records is undefined

这是我的JSON响应:

{"Result":"OK","Records": 
[{"0":"111","id":"111","1":"20","free":"20"}, 
{"0":"127","id":"127","1":"20","free":"20"}, 
{"0":"133","id":"133","1":"20","free":"20"}, 
{"0":"134","id":"134","1":"20","free":"20"}, 
{"0":"135","id":"135","1":"20","free":"20"}, 
{"0":"326","id":"326","1":"20","free":"20"}]} 

我如何存取权限所有的id和自由值?或者我做错了什么?

回答

3

您需要遍历jsondata.Records

$.each(jsondata.Records, function (i, item) { 
    console.log(item.id); 
}); 

Example fiddle

+0

非常感谢你,它工作:)我是一个新手,所以我试图找到一个解决方案,我试过的一切都没有工作,所以你帮了我很多,我会接受你的答案,当时间逝去:) – enigmaticus

+0

@enigmaticus没问题,gad帮忙。 –

3

jsondata.Records是包含进一步的JSON对象数组,

尝试,

$.each(jsondata.Records, function(i, item) { 
    console.log(item.id); 
}); 
0
$.ajax({ 
url: 'Actions.php?action=update', 
type: 'post', 
data: '&id='+$id, 
dataType:'json' 
}).success(function(data) { 

$.each(data.Record, function(i, item) { 
    console.log(item.id); 
});   

});

请在您的ajax设置中使用dataTye。