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 關注
- 148 瀏覽
添加回答
舉報