我正在尝试使用getStaticProps来简单地发出请求,然后将该数据从它传递给组件:
但我收到了这个错误:
FetchError: https ://www.ajmadison.com/product3.0/packages.index.json.php?sku=RF28R7351SR 处的无效 json 响应正文 原因:JSON 中位置 0 处的意外令牌 <
import AppliancePackage from '../components/AppliancePackage.jsx';
function HomePage({ data }) {
return (
<>
<AppliancePackage appliances={data} />
</>
);
}
export default HomePage;
// This function gets called at build time on server-side.
// It won't be called on client-side, so you can even do
// direct database queries. See the "Technical details" section.
export async function getStaticProps() {
// Call an external API endpoint to get data.
// You can use any data fetching library
var res = await fetch(
'https://www.ajmadison.com/product3.0/packages.index.json.php?sku=RF28R7351SR'
);
var json = await res.json();
data = JSON.stringify(json);
console.log('data ', data);
return {
props: {
data: json,
},
};
}
我试图对其进行字符串化,但这没有用!我也对评论感到困惑:
该函数在服务器端的构建时被调用。它不会在客户端调用,因此您甚至可以直接进行数据库查询。请参阅“技术细节”部分。
然后如您所见,有一条评论指出:
调用外部 API 端点以获取帖子。
但是在他们的文档中有一个关于 API 路由的完整部分
任何人都可以帮助我这是怎么回事?
更新
Alexey 提供了一些很棒的见解,但就像我对他说的那样,我在 axios 文档中找不到更改用户代理!