【发布时间】:2020-11-07 15:04:59
【问题描述】:
我正在尝试使用getStaticProps 来简单地发出请求,然后将该数据从它传递给组件:
但我收到此错误:
FetchError: 无效的 json 响应正文 https://www.ajmadison.com/product3.0/packages.index.json.php?sku=RF28R7351SR 原因:意外的令牌
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,
},
};
}
我尝试对其进行字符串化,但没有成功!我也有点被 cmets 搞糊涂了:
此函数在构建时在服务器端调用。 它不会在客户端被调用,所以你甚至可以这样做 直接数据库查询。请参阅“技术细节”部分。
然后如您所见,有一条评论指出:
调用外部 API 端点以获取帖子。
但在他们的docs 中有一个关于 API 路由的完整部分
谁能帮我看看怎么回事?
更新
Alexey 贡献了一些深刻的见解,但就像我对他说的那样,我在 axios 文档中找不到更改用户代理的方法!
【问题讨论】:
标签: javascript node.js reactjs next.js getstaticprops