【问题标题】:Calling Fetch From React (With Options)从 React 调用 Fetch(带选项)
【发布时间】:2017-03-22 05:07:36
【问题描述】:

this tutorial 之后,我创建了一个应用程序,其中的服务器侦听端口 3000 和 3001。

如果我理解正确的话,我的 react 应用程序在 3000 端口上运行,并使用 3001 端口上的服务器作为代理对 Auth0 进行 api 调用。

目前,我可以成功地从 3000 到 3001 发出 fetch 请求,但问题是我无法传递任何选项。

fetch(url) 无需选项即可工作,但我必须从查询参数中提取变量。

fetch(url, options) 不起作用。它有时会在 chrome 的网络选项卡中显示为“status=canceled”。其他时候(似乎是随机的)它显示的是 404,有时该请求甚至不会出现在网络选项卡中。在每种情况下,如果我传入选项,则不会调用 api,并且不会触发立即放置在服务器的 app.get() 中的日志语句。

我已经尝试了大约一百种不同的方法来格式化选项对象,但我一直认为这就是问题所在。我也尝试在 3001 服务器上启用 CORS,但这似乎没有帮助。

我非常感谢您对此的任何反馈或建议。谢谢!

【问题讨论】:

  • 我怀疑您的模拟服务器未设置为正确运行。当您 ping 模拟服务器或进行 POSTMAN 调用时,它是否返回任何数据?
  • 你是对的,我的服务器设置不正确。我正在使用 app.get() 并且我猜 GET 在请求中永远不会有正文。当我将其更改为 app.post 时,它起作用了。

标签: node.js reactjs fetch auth0


【解决方案1】:

来自 React 支持社区的一位程序员同事帮助我发现: 1) 我没有使用 event.preventDefault();这导致了 status=canceled 错误

2) 我的服务器在需要 app.post() 时使用 app.get() 设置

【讨论】:

    猜你喜欢
    • 2020-07-05
    • 2016-12-04
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 2019-11-19
    • 2019-07-13
    相关资源
    最近更新 更多