【发布时间】:2020-05-12 18:55:28
【问题描述】:
我尝试将我的 api 客户端与 next.js 连接这是我在 index.js 中代码的一部分
const searchHandler = async(event) => {
const (value === '')return;
Router.push({
pathname: '/zdjatka',
query: {value: 'kotek'}});};
如您所见,我有一些查询参数。触发处理程序后,网站正在路由到我的 zdjatka.js,代码如下,
Test.getInitialProps = async (context) => {
const { value } = await context.query
const res = await fetch(`https://stock.adobe.io/Rest/Media/1/Search/Files?locale=pl_PL&search_parameters[words]=${value}
&search_parameters[limit]=22&search_parameters[offset]=22`, {
headers: {
"x-api-key": "....",
"X-Product": "adobe-api/0.1.0",
"Content-Type": "application/json"
}
})
const data = await res.json()
// console.log(photos);
return {
data: data
}
}
问题是当我切换到 zdjatka 路由页面时,api 发送请求,chrome 工具在标题中显示我的 api-key,但是当我直接从 webbrowser localhost:3000/zdjatka 打开时,没有来自索引页面的链接,我收到数据的重新请求,女巫在标头中不包含 api-key。与路由器连接时如何达到相同的效果?
【问题讨论】:
-
您应该将您的 api 密钥保存在后端。
标签: javascript reactjs express fetch next.js