reactjs - 跨域请求被阻止 React Golang
问题描述
我正在尝试从与 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)
}
我想我错过了一些东西 - 有人可以帮助我吗
解决方案
您的请求标头似乎缺少 CSRF 参数。
在 MDN 页面上阅读它,对我来说,您似乎需要在发送到微服务的请求中传递它。
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSMissingAllowOrigin
推荐阅读
- android - 当我们应该使用“直接跟随”或“间接跟随”在 Google Analytics for firebase 中创建封闭漏斗时
- java - 如何使用标准构建器使用多个过滤器进行搜索
- java - Gradle 无法编译从域类中导入的 jar
- bash - 在 s3 命令中提取头记录但导致 ^M
- angular - 方法调用完成后可观察的返回值
- python - 如何从 numpy 中的逗号和括号表示法获得相同的结果?
- python-3.6 - TypeError:字符串索引必须是 ArangoDB 上的整数
- html.dropdownlistfor - 使用Javascript根据另一个下拉列表的更改事件绑定下拉列表中的值
- bigdata - 想要将文件从 HDFS 复制到本地机器
- angular - 在组件文件(打字稿)中访问 NgModel 对象(不是值)