【发布时间】:2021-12-13 07:16:34
【问题描述】:
所以我正在尝试使用此代码从此链接https://covid.ourworldindata.org/data/owid-covid-data.json 获取 JSON 数据
$.ajax({
type: "GET",
url: "https://covid.ourworldindata.org/data/owid-covid-data.json/",
success: function (data) {
$("h5").each(function () {
var code = $(this).data("code"); // atribut data-code
$(this).html(data[code]["location"]);
});
},
});
它工作正常,标签也设置为我想要的值,但是当我检查控制台时,我得到了这个错误
Uncaught TypeError: Cannot read properties of undefined (reading 'location')
它指向这条线
$(this).html(data[code]["location"]);
如何解决?
【问题讨论】:
-
你知道
data变量中有什么数据吗?我很确定这不是你想的那样,这就是为什么你没有得到你想要的回报。请求返回正常,因为成功函数正在运行。您应该 console.log 数据,以便您可以检查该变量中包含的内容。 -
但答案是,
code变量中包含的任何内容都不存在于data变量中,然后您尝试从未定义的值中提取location。您需要确保code中存储的任何内容实际上在data中可用,如果不存在,则需要提前返回。
标签: javascript jquery json