【问题标题】:Flask suddenly not receiving request from React clientFlask 突然没有收到来自 React 客户端的请求
【发布时间】:2020-09-30 14:54:00
【问题描述】:

我在前端(客户端)有 React 应用,通过 axios 包调用 Flask 后端(服务器)提供的 API。

客户端和服务器都在本地运行。客户:本地主机:3000。服务器:本地主机:5000

问题是:多次请求后,服务器无法接收到客户端的请求。 这是接收到的请求的图片,在后端捕获:

如您所见,在一些成功请求之后,React 应用程序卡住了待处理的请求:

最新请求:127.0.0.1 - - [11/Jun/2020 09:34:39] "GET /posts HTTP/1.1" 是错误 500,但在 chrome 的网络选项卡中,请求仍在等待中,所以我不知道服务器是否收到了该请求。 chrome的控制台日志中没有显示任何内容,后端终端窗口中没有打印错误(我有一些代码行在后端打印错误),只是错误500

我做错了什么?如果这个问题仍然很困惑,请在下面发表评论,我可以更新有关它的更多信息。谢谢!

【问题讨论】:

  • 你能分享更多关于你的 Flask 应用程序的内容吗?我觉得问题很可能存在:)
  • 我认为您的服务器已收到请求,因为"GET /posts HTTP/1.1" 500 出现在日志中
  • 我调试了我的服务器并在下面的答案中更新了解决方案

标签: reactjs flask


【解决方案1】:

您的服务器报告了 500 错误,但客户端上的请求仍在等待处理,这让我认为服务器端出了点问题。

要验证这一点,您可以尝试在您的一个端点中手动调用 raise Exception()。然后,您可以尝试使用 curl 或 Postman 之类的客户端调用端点,而不是通过 react 应用程序看到错误解决。如果你能够在那里看到 500 错误,那么这个错误很可能在你的 React 应用程序中。如果该请求未解决,则错误可能在服务器中。

是否正在向客户端发送错误响应?在烧瓶中执行此操作的方法是使用error handlers

【讨论】:

    【解决方案2】:

    谢谢你帮助我。

    我调试了我的服务器,发现来自 react 应用的 2 个请求调用由 1 个光标提供服务

    (我为整个连接使用了 1 个 connector.cursor => 2 个请求在一瞬间到达 => 光标不知道如何提供结果)

    => 解决方案:将 2 个请求更改为 1 个新请求到新 API,在新 API 中,返回包含该 2 个请求的两个结果的结果

    【讨论】:

      猜你喜欢
      • 2016-03-18
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2020-01-03
      • 1970-01-01
      • 1970-01-01
      • 2014-02-03
      • 2015-10-12
      相关资源
      最近更新 更多