问题:在浏览器上重新加载当前页面会触发对后端的 API 请求

问题描述

我需要帮助。我一直在网上搜索,尝试了不同的东西,但没有运气。

我有一个 react + 语义 UI 应用,它在单独的 docker 容器上运行(1 个用于前端端口 3000,1 个用于端口 80 和 443 上的 fastapi/Nginx 后端)。

当我使用 http://localhost:3000 时,我的 react 路由器设置工作正常,它正确地将其路由到 http://localhost:3000/login 以用于登录表单。在浏览器 URL 上输入 http://localhost:3000/login 也可以。重新加载页面(Windows 中的 ctr+R 或 Mac 中的 command+r)可以正常工作,没问题。我在浏览器的开发者工具的调试器中看到,实际上没有请求发送到后端,页面重新加载。

但问题在于 https。当我在浏览器 url 上键入 https://localhost 时,它会正确地将其路由到 https://localhost/login,这将弹出一个登录表单,就像 http 一样。但是,当我重新加载页面或直接在 url 上输入 https://localhost/login 并输入时,我收到了“Method Not Allowed”错误而不是登录表单。在 Web 开发人员工具的调试器中,我收到了错误代码为 405 的 http 响应, “Method Not Allowed”,一种与请求一起使用的 GET 方法。因此,看起来 API 请求已发送到后端,后端响应 405 错误,因为我有一个 POST /login 端点,而不是 GET /login 端点。

这是为什么,我该如何解决?我可以阻止浏览器通过 GET、页面刷新或使用 https://localhost/login 将 API 请求发送到后端吗?

非常感谢您的帮助!

enter image description here

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)