API正在工作,我可以在其他页面上使用此API。但此页面不能,我不知道哪里出错了??代码:
export async function getStaticPaths() {
const response = await fetch("http://localhost:8080/students");
const data = await response.json();
const paths = data.map((d) => {
return {
params: {
id: d._id.toString(),
},
};
});
return {
paths,
fallback: false,
};
}
export async function getStaticProps({ params }) {
const response = await fetch(`http://localhost:8080/students/${params.id}`);
const data = await response.json();
return {
props: {
data,
S,
},
};
}
export default function StudentProfile({ data }) {
return (
<div>
<h1>{data.name}</h1>
<h1>{data.age}</h1>
<h1>{data.id}</h1>
</div>
);
}
错误消息:
服务器错误语法错误:JSON中位置0处的意外标记〈生成页面时发生此错误。任何控制台日志都将显示在终端窗口中。pages/profile/[ id]. js(26:15)@async getStaticProps 24|导出异步函数getStaticProps({params}){25|常量响应=等待获取(http://localhost:8080/students/${params.id}
); 26|常量数据=等待响应. json();|二十七|返回{28| prop :{29|数据,
我确信API连接成功,这段代码可以成功运行并显示数据:
export async function getStaticProps() {
const respone = await fetch("http://localhost:8080/students");
const data = await respone.json();
return {
props: {
data,
},
};
}
export default function StaticGenerationPage({ data }) {
return (
<div>
{data.map((d) => {
return <h1>{d.name + " " + d._id}</h1>;
})}
</div>
);
}
是否存在其他潜在的错误原因?
1条答案
按热度按时间4jb9z9bj1#
Unexpected token < in JSON at position 0
表示API返回的JSON无效此外,
getStaticProps
无法访问传入请求(如查询参数或HTTP头),请参见getStaticProps文档。