ИЛИ ЖЕ
я есть API, в настоящее время я пытаюсь использовать одну из его конечных точек. Конечная точка предназначена для запросов POST, конечная точка работает, как и ожидалось. API работает в облаке, я тестировал его сcurl
и это было прекрасно, то из моего приложения реакции я пытался потреблять его, но я получаю403 status code
.
Наблюдая в консоли браузера, я вижу, что я получаю эту ошибку по запросу OPTIONS, и POST никогда не выполняется. Вот скриншот результата, отображаемого в консоли:
Затем я сделал простой HTML-файл с формой, там я поместил необходимые входные данные и действие, указывающее на эту конечную точку, и оно работало довольно хорошо. Тогда я не знаю, где будет ошибка? Я включил CORS в API
В API я использую Gorilla / mux, и у меня есть что-то вроде этого:
// Set up a router and some routes
r := mux.NewRouter()
r.HandleFunc("/", handleHome)
//some other routes
headersOk := handlers.AllowedHeaders([]string{"*"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
// Start http server
port := fmt.Sprintf(":%d", SomePort)
http.ListenAndServe(port, handlers.CORS(originsOk, headersOk, methodsOk)(r))
С помощью:
"github.com/gorilla/mux"
"github.com/gorilla/handlers"
Сообщение, которое я получаю в браузере (на испанском):
Solicitud desde otro origen bloqueada: политическая политика в отношении происхожденияhttps: // miURL (razón: falta la cabecera CORS «Контроль доступа-разрешить-происхождение»).
На английском языке: в основном сервер отклоняет запрос, потому что отсутствует заголовок CORS.
Итак, что я сделал не так в конфигурации моего маршрутизатора?