如何使用JSON从外部URL加载数据?

时间:2017-12-20 17:28:57

标签: javascript jquery json dom

我想显示此网址http://api.open-notify.org/astros.json/

中的名称

这是我的代码,

var astrosAPI = "http://api.open-notify.org/astros.json/";

$.getJSON(astrosAPI, function (json) {
    var name = json.results[0].formatted_name;
    console.log('Name : ', name);
});

我想用h3标记显示它。我是JSON和jQuery的新手。我一直在

index.html:631 Uncaught TypeError: Cannot read property '0' of undefined error

2 个答案:

答案 0 :(得分:0)

您必须使用success()done()功能。

var url = "http://api.open-notify.org/astros.json/";
$.getJSON(url).success(function (json) {
  var name = json.people[0].name
  console.log('Name : ', name)
})

答案 1 :(得分:-1)

如果您能够联系到特定端点而不被CORS阻止,则必须是数据格式。

查看数据,您的数据中没有名为results的属性。尝试调试该行以查看变量json的正确格式。它可能是string,您需要调用JSON.parse(json);才能将其正确格式化为对象。

你应该可以这样做:

var astrosAPI = "http://api.open-notify.org/astros.json/";

$.getJSON(astrosAPI, function (json) {
    var name = json.people[0].name;
    console.log('Name : ', name);
});