3 回答
TA贡献1829条经验 获得超7个赞
limitMiddleware 返回的函数在 cors 中间件(下一个参数)之前执行。重新排序您的处理程序:
rtr := mux.NewRouter()
rtr.HandleFunc("/test", test).Methods("GET")
handler := cors.Default().Handler(limitMiddleware(rtr))
http.ListenAndServe(":3021", handler)
TA贡献1998条经验 获得超6个赞
有没有办法使用 rs.cors 以便在出现 CORS 问题时启动 CORS,并且在没有 CORS 问题时可以返回 http 错误代码?
除非你处理 cors,否则你会得到它作为错误,所以这个问题的解决方法是修复 cors。
使用 rs.cors 不是必需的,但在某些情况下,如果没有它,我无法成功地让 CORS 工作。
http.ResponseWriter您可以通过设置Header 值来处理 cors 。你可以这样做
func getGoogle(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
}
或用您的前端网址替换“*”。
TA贡献1866条经验 获得超5个赞
您需要指定 Cors,请在您的 main(){ ... } 中尝试此代码
port := ":9000"
headers := handlers.AllowedHeaders([]string{"X-Requested-With", "Content-Type", "Authorization"})
methods := handlers.AllowedMethods([]string{"GET", "POST", "PUT", "DELETE"})
origins := handlers.AllowedOrigins([]string{"*"})
err = http.ListenAndServe(port, handlers.CORS(headers, methods, origins))
if err != nil {
log.Errorf("Error starting server: %s\n", err)
os.Exit(1)
}
- 3 回答
- 0 关注
- 116 浏览
添加回答
举报