繁体   English   中英

React App Axios 触发两次——没有 CORS,没有严格模式

[英]React App Axios firing twice -- No CORS, No Strict Mode

我有一个奇怪的问题,我无法解决。 我的 AJAX 通过 AXIOS 调用被调用了两次。 我已经广泛阅读,即使我发现“喜欢”的问题,我的问题也无法通过使用这些帖子上的答案来解决,要么是因为我没有使用它们所使用的方法,要么是因为我没有使用 CROSS ORIGIN。 我也没有使用严格模式。 我在这里真的不知所措!

root.render(
  //<React.StrictMode>
    <App />
  //</React.StrictMode>
);

    handleSubmit = event => {
        event.preventDefault();
        const data = {
            name: event.target.elements.name.value
        };

        axios.post(`/api/v2/users/add`, {data})
            .then(res => {
                console.log(res.data.user['name']);
            })
    };

    render() {
        return (
            <div>
                <form onSubmit={this.handleSubmit}>
                    <label>
                        Person Name:
                        <input type="text" name="name"/>
                    </label>
                    <button type="submit">Add</button>
                </form>
            </div>
        )
    }

事件触发两次。 第一次发送有效载荷。第二次接收响应。 这太奇怪了。 我已经尝试了我所知道的一切。 我尝试设置 state onChange()而不是静态设置“名称”字段: name: event.target.elements.name.value 这是一个基本的 30 行应用程序。我真的不知道接下来要看什么。 我错过了什么明显的东西吗?

在此处输入图像描述

在此处输入图像描述

需要明确的是,我已经阅读了以下帖子,并且 NONE 是我问题的答案:

每个 axios 请求在 react-redux 应用程序中触发两次? (我没有使用跨域。)

事件在 axios 拦截器内触发两次(也许读一下这个想法……但不是我的问题)

React 和 Axios 触发两次(一次未定义,一次成功) (未更改状态)

我发现如果您使用 URL 基于“目录”的 API,如果您不包含尾部斜杠,您将获得 301 重定向,并且不会重新发布您的数据。所以有效负载在第一次旅行时到期,然后重定向没有收到有效负载,但得到正确的响应减去有效负载参数。

有区别

/api/v2/users/add

/api/v2/users/add/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM