哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《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知识!