웹 API의 끝점에 문제가 있습니다. 프리 플라이트 요청에CORS가 경로와 함께 작동하지 않습니다.
응답 액세스 제어 검사를 통과하지 않습니다 : 난으로 인해 작동하지 않는 POST 방법이 없음 '액세스 - 제어 - 허용 - 원산지'헤더는 요청 자원에 존재합니다. 따라서 'http://localhost:3000'은 액세스가 허용되지 않습니다. 응답은 HTTP 상태 코드 (405)
나도 같은 COSR 구성으로 참으로 작업하는 방법을 많이 갖고 있기 때문에 그 작동하지 않는 이유는 볼 수 있었다. 유일한 차이점은 아래에서 볼 수 있듯이이 방법에는 지정된 경로가 있다는 것입니다.
// 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);
}
}
모든 이유는 무엇입니까?
감사합니다.
CORS는 * this * 컨트롤러에서 다른 방법으로 작동합니까? – mayu
예 작동 중 – NicoRiff
http://www.prefix.io/를 사용하여 잘못된 것이 있는지 확인하는 것이 좋습니다. – Shago