登录
首页 >  Golang >  Go问答

React Golang 跨源请求被阻止

来源:stackoverflow

时间:2024-04-01 11:39:33 370浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《React Golang 跨源请求被阻止》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我正在尝试使用 axios 向我的 golang 微服务发送 post 请求,但收到错误

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 : "[email protected]"
                    }
                }
            ]
        }
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)
}

我想我错过了一些东西 - 有人可以帮我吗


解决方案


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

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

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

好了,本文到此结束,带大家了解了《React Golang 跨源请求被阻止》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>