Mam problem z punktem końcowym w moim interfejsie internetowym. Mam metodę POST, który nie działa z powodu:CORS nie działa z trasą
odpowiedź do prefligtu żądanie nie przechodzi kontrolę kontroli dostępu: Nie „Access-Control-Allow-Origin” header jest obecny na wymaganym zasobu. Pochodzenie "http://localhost:3000" jest zatem niedozwolone pod warunkiem dostępu . Odpowiedź miała kod stanu HTTP 405.
Nie widzę powodu, dla którego to nie działa, ponieważ mam wiele metod, które rzeczywiście działają z tą samą konfiguracją COSR. Jedyna różnica polega na tym, że ta metoda ma określoną trasę, jak widać poniżej:
// POST: api/Clave
[EnableCors(origins: "*", headers: "*", methods: "*", SupportsCredentials = true)]
[Route("{id:int}/clave")]
[HttpPost]
public HttpResponseMessage Post(int id, [FromBody]CambioClaveParameters parametros)
{
UsuarioModel usuario = SQL.GetUsuario(id);
if (Hash.CreateMD5(parametros.ViejaClave) != usuario.Clave.ToUpper())
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
else if (Hash.CreateMD5(parametros.ViejaClave) == usuario.Clave.ToUpper())
{
SQL.ModificarClaveUsuario(id, Hash.CreateMD5(parametros.NuevaClave));
return Request.CreateResponse(HttpStatusCode.OK);
}
else
{
return Request.CreateResponse(HttpStatusCode.InternalServerError);
}
}
Jakieś pomysły, dlaczego tak się dzieje ?.
Dzięki !.
Czy CORS działa na inne metody w * tym * kontrolerze? – mayu
tak działa – NicoRiff
Polecam użycie http://www.prefix.io/ do sprawdzenia, czy coś jest nie tak. – Shago