CORS 오류: 허용된 헤더 수정
파일 업로드와 함께 POST 요청을 수행하려고 하면 브라우저에 "요청" 오류가 자주 발생합니다. 헤더 필드 Content-Type은 Access-Control-Allow-Headers에서 허용되지 않습니다."
근본 원인:
이 오류는 브라우저가 교차 출처에 대한 요청을 프리플라이트하기 때문에 발생합니다. OPTIONS 요청을 전송하여 "multipart/form-data"와 같은 비표준 콘텐츠 유형을 요청합니다. OPTIONS 요청은 서버가 표준 HTTP 세트에 포함되지 않은 특정 요청 헤더를 허용하는지 확인합니다.
초기 시도 솔루션:
이 문제를 해결하려면 개발자 처음에 POST 요청에 다음 헤더를 추가하려고 시도했습니다.
"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "GET,POST,PUT,DELETE,OPTIONS", "Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
후속 오류:
그러나 이로 인해 새로운 오류가 발생했습니다. "요청 헤더 필드 액세스- Control-Allow-Origin은 Access-Control-Allow-Headers에 의해 허용되지 않습니다."
해결 방법:
서버에서 "Content- "Access-Control-Allow-Headers" 구성에" 헤더를 입력하세요. 브라우저는 "Content-Type" 헤더가 포함된 프리플라이트 OPTIONS 요청을 보내고, 서버가 이를 허용하지 않으면 CORS 요청은 실패합니다.
이 오류를 해결하려면 개발자는 Angular의 기본 "애플리케이션을 덮어쓰거나" /json" 콘텐츠 유형을 입력하거나 서버의 Access-Control-Allow-Headers 구성에서 "Content-Type"을 허용합니다.
Angular 코드 샘플:
기본값을 덮어쓰려면 Angular의 헤더에는 다음 코드를 사용할 수 있습니다:
<code class="typescript">$http.post(url, data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } });</code>
위 내용은 CORS 오류: 내 서버가 실행 전 요청에서 \'Content-Type\'을 거부하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!