小编aiw*_*iss的帖子

Next.JS - 进行外部 API 调用时会在前面添加 localhost

我有一个简单的 Next 应用程序,我在其中进行外部 API 调用来获取一些数据。这工作得很好,直到几天前 - 当应用程序发出 API 请求时,我可以在网络选项卡中看到它尝试调用的 URL,在需要的localhost:3000实际 URL 前面添加了下一个应用程序的地址 ( )被调用,例如:而不是http://{serverAddress}/api/articles调用http://localhost:3000/{serverAddress}/api/articles,并且该请求解析为404 Not Found.

为了进行 API 调用,我使用fetch. 在发出请求之前,我已记录了传入的 URL fetch,它是我需要的正确 URL。我还通过使用Postman向预期的 URL 发出请求,确认我的 API 正在按预期工作。

我没有尝试过使用其他库来axios提出此请​​求,因为考虑到我的应用程序仅使用即可完美运行,所以这是没有意义的,fetch所以我想了解为什么会在我未来的体验中发生这种情况。

自从我的应用程序运行以来,我没有进行任何代码更改,但是,我对我的服务进行了Docker 化,因此我使用Ubuntu安装了Docker和WSL2。我正在另一台机器上部署这些容器,现在当这个问题发生时,我调用的 API 和 Next 应用程序都直接在我的开发机器上运行。

我看到这篇文章,我确认 URL 中没有任何空格,但是,正如一条评论提到的,我安装了WSL2,但是,我没有通过 WSL 终端运行该应用程序。另外,我尝试执行wsl --shutdown看看是否有帮助,不幸的是问题仍然存在。如果这是问题的原因,我该如何解决?卸载WSL2?如果不是,导致该问题的另一个可能原因是什么?

提前致谢。

编辑:我用来调用的代码fetch:

fetcher.js

export const fetcher …
Run Code Online (Sandbox Code Playgroud)

fetch next.js wsl-2

0
推荐指数
1
解决办法
4819
查看次数

标签 统计

fetch ×1

next.js ×1

wsl-2 ×1