【问题标题】:Axios post doesn't receive answer (ReactJS)Axios 帖子没有收到答案(ReactJS)
【发布时间】:2019-07-11 21:57:38
【问题描述】:

我需要提交表格。如果我在 HTML 表单中这样做,它目前可以工作,但我真的需要做一些事情,所以我需要在反应中做。所以我正在使用 axios。

但是,使用 axios 我没有得到回复。还有一些奇怪的事情,因为虽然我正在做一个发布请求,但数据在浏览器上显示为一个查询字符串......不确定这是否是正常行为。

这是我在服务器端的代码:

app.post("/auth/register", async function(req, res, next) {
    // some code
    // my responses are like res.json("/signup/success");
}

在客户端:

onSubmit(event) {
    axios({
        method: "post",
        url: "/auth/register",
        data: {
            username: this.state.username,
            password: this.state.password,
            accountName: this.state.accountName
        },
        withCredentials: true
    }).then(result => {
        console.log(result);
    });
}

我正在使用 express 在端口 5000 上运行服务器,并使用 create-react-app 在端口 3000 上运行服务器。要管理身份验证,请使用 passport.js。

我使用 http-proxy-middleware 将一些端点代理到 express 服务器。

After submitting the form I get this on the console:

我已经在这几天了,在 stackoverflow 和其他任何地方徘徊,我完全陷入困境......谁能给我一个提示我该怎么办?

【问题讨论】:

  • 你在哪里指定端口 axios 应该将请求发送到?
  • 它有一个代理,所以不需要指定端口......无论如何我想我找到了解决方案(这很讽刺,因为我已经用了好几天了,当我决定吞下骄傲的那一刻并寻求帮助......我到了那里)。这是...缺少 event.preventDefault()。是的,那个愚蠢的错误。愚蠢的错误。我会再看一下并确保它有效,然后我会在接下来发布答案,以便我可以帮助其他人:)

标签: reactjs express proxy axios


【解决方案1】:

好吧,看来我找到了自己的答案……终于。谢谢大家的帮助!

这个问题很基本,很愚蠢。只是缺少“event.preventDefault()”。就是这样......是的,说我愚蠢,过去几个小时我一直对自己这么说

【讨论】:

  • "Stupid" 不会在这里发布您的问题。通过发帖,你帮助了我和其他犯同样错误的人。通过发布,您使 stackoverflow 成为一个更好的地方。祝你有美好的一天!
  • @José Pedro Sousa,您能否澄清问题的原因?这完全是关于一些“按钮按下”事件吗?为什么未阻止的事件使 axios 收不到响应?我有时会在我的 React Native 项目中遇到相同的行为,但没有需要阻止的事件。)
  • @VyacheslavOrlovsky 据我所知,如果您不调用 preventDefault() 页面将立即重新加载,因为这是提交按钮的默认行为。我不知道这将如何适用于 React Native,因为我对 RN 的经验是肤浅的。我希望这会有所帮助...
  • @José Pedro Sousa,感谢您的回复。明白了,您的案例似乎仅与纯 React for web 有关。而且我已经发现我的案例是关于注意力不集中的 - 我的 Axios 响应拦截器内部错误的错误处理使其静默失败。
【解决方案2】:

axios.create({ 基本网址:http://localhost:5000/ });

在发送请求之前设置 baseURL。

【讨论】:

    猜你喜欢
    • 2018-03-01
    • 2015-03-25
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多