2017-09-22 3 views
0

내 Angular 4 웹 응용 프로그램에서 C#으로 작성된 서비스를 사용하려고합니다. 내가 서비스에 대한 POST 요청을 할 때 크롬에서 "프리 플라이트에 대한 응답에 유효하지 않은 HTTP 상태 코드 500이 있습니다"라는 메시지가 표시되고 서버에서 POST 요청 본문 값이 null입니다. 그러나 POSTMAN을 통해 동일한 요청을 할 때 적절한 응답을 얻고 있습니다.프리 플라이트에 대한 응답에 각도 4의 HTTP 상태 코드 500이 유효하지 않습니다.

감사합니다.

+0

에 대해 상관하지 않는다? – oreofeolurin

+0

아마도 http.post를 각도로 표시 할 수 있습니까? 또한 컨트롤러에 데이터를 보낼 때 콘솔 로그를 볼 수 있다면 도움이 될 것입니다. – bgraham

+0

로컬에서 개발 모드로 실행 중이며 angular-cli를 사용하고 있습니까? 그렇다면 프록시를 사용하여 크롬이 네트워크 전화를 걸지 못하게하는 코드를 우회 할 수 있습니다. 필요한 경우이를 수행하는 방법에 대한 답변을 게시 할 수 있습니다. – Eeks33

답변

1

주로 CORS 정책과 관련이 있습니다. 서버는 프리 플라이트 OPTIONS 요청 동안 요청을 차단했습니다. 따라서 서버에서 CORS를 활성화하십시오. POSTMAN가 작동하는 이유는 다음과 같습니다

은 다음과 같습니다

일반 웹 페이지를 보내 XMLHttpRequest 객체를 사용할 수 있으며 원격 서버로부터 데이터를 수신하지만,이 같은 기원 정책에 의해 제한된다. 확장자는 그렇게 제한되지 않습니다. 확장 프로그램은 원격 원본 서버가 아닌 다른 원격 서버와 통신 할 수 있습니다 (먼저 원본 교차 권한을 요청하는 경우).

그래서 기본적으로 우편 배달 확장이며 당신이 몇 가지 코드를 보여줄 수 CORS

관련 문제