TypeError: cannot read properties of undefined reading '2'
TypeError: cannot read properties of undefined reading '2'
我快疯了,敬请谅解。
我目前正在为我的学习编写作业。我必须使用 Svelte 框架在 Javascript 中使用异步获取方法调用 API。这就是我 app.svelte.
中的内容
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width,initial-scale=1'>
<title>Sollicitatie Opdracht Volcano</title>
<link rel='icon' type='image/png' href='/favicon.png'>
<link rel='stylesheet' href='/global.css'>
<link rel='stylesheet' href='/build/bundle.css'>
<script defer src='/build/bundle.js'>
import { onMount } from "svelte";
const searchAnime = async () => {
var response = await fetch('https://api.jikan.moe/v4/anime?q=jujutsu', {
method: 'GET'
});
var result = await response.json();
return result;
}
let aniSearchPromise = searchAnime();
</script>
<h1>API Fetching System</h1>
<main>
{#await aniSearchPromise}
<h2>Laden. . .</h2>
{:then data}
<h2>{data.results[0]}</h2>
{:catch err}
<h2>Error while loading data.</h2>
{/await}
</main>
<svelte:head>
<title>aniAPI Test App</title>
</svelte:head>
<style>
main {
background-color: lavenderblush;
font-size: 15px;
}
h1 {
font-size: 25px;
}
</style>
我在
data.results[0]
处遇到错误 我不知道如何解决这个问题,因为我看到承诺被列为已履行。 data.results[data[2]] 上是所有获取的数据。请参阅下面的屏幕截图
谁能解释发生了什么以及为什么它是未定义的?非常感谢。
您的截图中数据似乎没有名为 results
的属性。你不能直接打电话给 data[0]
或 data[2]
吗?
data.Results
不是数组,通过查看您的对象,可能 data.Results
不存在于此处。在您的对象中,数据是一个数组,因此应该像 data[2]
.
一样使用它
Api 工作正常,可能您正在尝试在获取数据之前获取数据
var response = fetch('https://api.jikan.moe/v4/anime?q=jujutsu', {
method: 'GET'
}).then(response => response.json())
.then(result => {
console.log('Data [0] result', result.data[0]);
})
我快疯了,敬请谅解。
我目前正在为我的学习编写作业。我必须使用 Svelte 框架在 Javascript 中使用异步获取方法调用 API。这就是我 app.svelte.
中的内容<meta charset='utf-8'>
<meta name='viewport' content='width=device-width,initial-scale=1'>
<title>Sollicitatie Opdracht Volcano</title>
<link rel='icon' type='image/png' href='/favicon.png'>
<link rel='stylesheet' href='/global.css'>
<link rel='stylesheet' href='/build/bundle.css'>
<script defer src='/build/bundle.js'>
import { onMount } from "svelte";
const searchAnime = async () => {
var response = await fetch('https://api.jikan.moe/v4/anime?q=jujutsu', {
method: 'GET'
});
var result = await response.json();
return result;
}
let aniSearchPromise = searchAnime();
</script>
<h1>API Fetching System</h1>
<main>
{#await aniSearchPromise}
<h2>Laden. . .</h2>
{:then data}
<h2>{data.results[0]}</h2>
{:catch err}
<h2>Error while loading data.</h2>
{/await}
</main>
<svelte:head>
<title>aniAPI Test App</title>
</svelte:head>
<style>
main {
background-color: lavenderblush;
font-size: 15px;
}
h1 {
font-size: 25px;
}
</style>
我在
data.results[0]
处遇到错误 我不知道如何解决这个问题,因为我看到承诺被列为已履行。 data.results[data[2]] 上是所有获取的数据。请参阅下面的屏幕截图谁能解释发生了什么以及为什么它是未定义的?非常感谢。
您的截图中数据似乎没有名为 results
的属性。你不能直接打电话给 data[0]
或 data[2]
吗?
data.Results
不是数组,通过查看您的对象,可能 data.Results
不存在于此处。在您的对象中,数据是一个数组,因此应该像 data[2]
.
Api 工作正常,可能您正在尝试在获取数据之前获取数据
var response = fetch('https://api.jikan.moe/v4/anime?q=jujutsu', {
method: 'GET'
}).then(response => response.json())
.then(result => {
console.log('Data [0] result', result.data[0]);
})