微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决问题:在浏览器上重新加载当前页面会触发对后端的 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 举报,一经查实,本站将立刻删除。