【问题标题】:Cross-Origin Request Blocked React Golang跨域请求被阻止 React Golang
【发布时间】:2019-07-17 09:11:36
【问题描述】:

我正在尝试从用 axios 响应到我的 golang 微服务的发布请求,但我收到了一个错误

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://127.0.0.1:4040/register. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

这是我的 axios 请求

const req = {
            data: [
                {
                    type : "register",
                    attributes : {
                        username : "Some name",
                        password : "asdasdasdasdasd3",
                        name : "some name",
                        email : "somename@yahoo.com"
                    }
                }
            ]
        }
axios.post(`http://127.0.0.1:4040/register`, { req })
            .then(res => {
                console.log(res);
                console.log(res.data);
        })

这是我在 golang 中的端点

    func register (w http.ResponseWriter, r *http.Request) {
            w.Header().Set("Access-Control-Allow-Origin", "*")
            w.Header().Set("Access-Control-Allow-Credentials", "true")
            w.Header().Set("Content-Type", "application/json");
            jsonBody := registerController.Perform(r)
            w.Write(jsonBody)
    }

    func main() {
        router := mux.NewRouter().StrictSlash(true)

        fmt.Println("server running at port " + SERVER_PORT)
        router.HandleFunc("/register", register).Methods("POST")

        http.ListenAndServe(SERVER_PORT, router)
}

我想我错过了一些东西 - 有人可以帮我解决这个问题

【问题讨论】:

标签: reactjs http go axios


【解决方案1】:

您的请求标头似乎缺少 CSRF 参数。

在 MDN 页面上阅读它,在我看来,您似乎需要在发送到微服务的请求中传递它。

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSMissingAllowOrigin

【讨论】:

    猜你喜欢
    • 2020-12-22
    • 2021-06-26
    • 2014-10-13
    • 2019-11-04
    • 2017-02-06
    • 2017-01-04
    • 2014-12-27
    相关资源
    最近更新 更多