You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Svelte中API获取数据后book.bc显示undefined问题排查

问题分析与解决方法

你的问题出在API返回的数据结构嵌套关系上:从console.log(book)的输出可以看到,bc字段并不是直接属于book对象,而是嵌套在book.data这个子对象里的。所以直接访问book.bc自然会得到undefined。

两种解决方式:

  1. 直接访问嵌套属性
    修改console.log的访问路径,从book.bc改为book.data.bc,代码如下:
onMount(async () => {
    const res = await fetch(uri);
    const data = await res.json();
    book = data;
    console.log(book);
    console.log(book.data.bc); // 正确访问嵌套的bc字段
});
  1. 重新赋值数据层级
    如果后续页面渲染只需要data里的内容,可以直接把data.data赋值给book,这样后续访问book.bc就正常了:
onMount(async () => {
    const res = await fetch(uri);
    const data = await res.json();
    book = data.data; // 直接取嵌套的data对象赋值
    console.log(book);
    console.log(book.bc); // 现在能正确获取1991
});

内容的提问来源于stack exchange,提问作者TaylorR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 09:45:33