基本上,我试图从console log
json- placeholder
的待办事项的标题,但我得到了最后显示的错误:
这是我的.js文件:
//starts at 14:43, sat 21/9/2019
//jsonph
const url = 'https://jsonplaceholder.typicode.com/todos?_limit=3';
async function getDataFromCinemasAPI() {
const response = await fetch(url);
const data = await response.json();
//FIXME: da undefined
for (let i = 0; i < data.length; i++) {
console.log(data[title]);
}
}
getDataFromCinemasAPI();
$('.card-text.c1').html()`
这是错误:
未捕获(承诺)ReferenceError:标题未定义 在getDataFromCinemasAPI
答案 0 :(得分:0)
如果您想获取一个在运行时知道其名称的属性,则应该 object.property
(也可以使用 object["property"]
,尽管不建议这样做)。如果要获取仅在运行时才知道其名称的属性,则应使用 object[propertyName]
(其中propertyName是变量)。
在您提供的代码中,您正在使用data[title]
,因此应将其替换为data.title
(或data["title"]
)。
但是您提供的json包含一个对象数组而不是一个对象,因此您应该首先在该索引 data[i]
处获取项目,然后获取title属性 data[i].title
。
const url = 'https://jsonplaceholder.typicode.com/todos?_limit=3';
async function getDataFromCinemasAPI() {
const response = await fetch(url);
const data = await response.json();
for (let i = 0; i < data.length; i++) {
console.log(data[i].title);
}
}
getDataFromCinemasAPI();
答案 1 :(得分:0)
数据是一个数组,因此您必须在打印属性之前访问元素的位置
console.log(data[i].title)
答案 2 :(得分:0)
完成!感谢console.log(data[i]["title"]);
,谢谢尼克·帕森斯!
答案 3 :(得分:0)
正如其他人所说,请使用方括号符号或点符号。但是,您遇到的另一个问题是data
是一个数组,您正在对其进行循环,因此需要data[i]["title"]
或data[i].title
const url = 'https://jsonplaceholder.typicode.com/todos?_limit=3';
async function getDataFromCinemasAPI() {
const response = await fetch(url);
const data = await response.json();
//FIXME: da undefined
for (let i = 0; i < data.length; i++) {
console.log(data[i]["title"]);
}
}
getDataFromCinemasAPI();