根据我以前的post我试图从使用JSON的RESTful接口获取一些信息。我正在研究JQuery 1.5。
我面临的问题是我回来了未定义的值。我无法使用firebug,因为我的应用程序是使用PhoneGap开发的,应用程序正在iPhone的模拟器上运行。
如果我访问RESTful界面(我在浏览器中键入“example.json”url - 其中示例是由另一个开发人员创建的有效url),请使用以下格式返回结果:
[{"person":{"created_at":"2011-07-18T17:51:33Z","id":1,"name":"John","age":60,"surname":"Smith","car_id":1,"updated_at":"2011-07-18T17:51:33Z"}},{"person":{"created_at":"2011-07-18T17:51:35Z","id":1,"name":"Johnny","age":50,"surname":"Deep","car_id":2,"updated_at":"2011-07-18T17:51:35Z"}}]
我需要获取信息ID,名称,年龄并将它们存储在一个数组(而不是一个html表)中。只是为了查看连接是否返回任何值,我使用代码:
var jqxhr = $.getJSON("example.json", function(person) {
$.each(person, function(i, person) {
alert(person.name);
alert(person.age);
});
})
.success(function() { alert("second success"); })
.error(function() { alert("Cannot connect to the SWT's maps. Please try again later!"); })
.complete(function() { alert("complete"); });
那么,为什么我会将警报未定义为值?
答案 0 :(得分:2)
此代码应该有效:
var jqxhr = $.getJSON("example.json", function(person) {
$.each(person, function(i, item) {
alert(item.person.name);
alert(item.person.age);
});
})
.success(function() { alert("second success"); })
.error(function() { alert("Cannot connect to the SWT's maps. Please try again later!"); })
.complete(function() { alert("complete"); });
答案 1 :(得分:-1)
var jqxhr = $.getJSON("example.json", function(data) {
$.each(data, function(i, item) {
alert(item.name);
alert(item.age);
});
}
希望这有帮助