【问题标题】:POSTMAN client send correct JSON response but the Chrome browser receives HTMLPOSTMAN 客户端发送正确的 JSON 响应,但 Chrome 浏览器收到 HTML
【发布时间】:2020-12-31 22:47:31
【问题描述】:
这听起来很荒谬,但我打开了我的一个旧 React 项目,但视图没有呈现。经过检查,我发现它正在接收来自 Flask 服务器的 HTML 响应。但是,我正在向前端发送有效的 JSON 响应。这从 POSTMAN 客户端也很明显,它会抛出 JSON 响应。
总而言之,Postman 客户端正在接收来自 Flask 服务器的预期 JSON 响应,但 Chrome 浏览器没有!这是如何/为什么会发生的?
附上下面的截图
【问题讨论】:
标签:
json
reactjs
flask
frontend
backend
【解决方案1】:
服务器和客户端在不同的端口上运行。 Postman 请求被发送到端口 5000 并且任何端点都与 localhost:5000 相关。因此,对 Postman 的响应与预期一致。然而,为了让 React 前端将其调用重定向到运行在端口 5000 上的后端,我们需要一种方法来告诉前端这样做,因为端点是相对于它们运行的地址的。因此,在 5000 上运行的服务器的端点 /questions 意味着 localhost:5000/questions 但前端意味着 localhost:3000/questions 。通过在项目的package.json 上设置proxy 来提供此连接。代理的值将是服务器地址。