>  기사  >  백엔드 개발  >  AngularJS POST 요청을 할 때 \"실행 전 응답에 잘못된 HTTP 상태 코드 404\" 오류가 표시되는 이유는 무엇입니까?

AngularJS POST 요청을 할 때 \"실행 전 응답에 잘못된 HTTP 상태 코드 404\" 오류가 표시되는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 14:15:03240검색

Why am I getting a

AngularJS POST 실패: CORS 및 실행 전 요청 이해

소개

AngularJS 간 HTTP 상호 작용, 특히 POST 요청 수행 애플리케이션과 백엔드 서버에 문제가 발생할 수 있습니다. 일반적으로 발생하는 오류 메시지 중 하나는 "실행 전 응답에 잘못된 HTTP 상태 코드 404가 있습니다."입니다. 이 문서의 목적은 이 오류를 조명하고 해결책을 제공하는 것입니다.

CORS 및 실행 전 요청

CORS(Cross-Origin Resource Sharing)는 브라우저가 사용하는 메커니즘입니다. 서로 다른 출처 간의 네트워크 요청을 관리합니다. 브라우저가 원본(예: http://localhost:8080)에서 다른 원본(예: http://example.com)으로 요청을 보낼 때 먼저 OPTIONS 메서드를 사용하여 실행 전 요청을 보냅니다. 실제 요청을 허용합니다.

오류 이해

"실행 전 응답에 잘못된 HTTP 상태 코드 404가 있습니다." 오류는 브라우저에서 보낸 실행 전 OPTIONS 요청이 HTTP 상태 코드 404(찾을 수 없음)를 반환합니다. 이는 서버가 실행 전 요청에 올바르게 응답하지 않음을 의미합니다.

해결책

이 오류에 대한 해결 방법은 서버 측에서 CORS 실행 전 요청을 적절하게 처리하는 데 있습니다. . 질문에 제공된 SlimPHP 예제에서 문제는 실행 전 요청이 처리되지 않고 404 상태 코드를 반환한다는 것입니다.

이 문제를 해결하려면 SlimPHP 서버에 다음 코드를 추가해야 합니다.

<code class="php">$app->options('/{routes:.+}', function ($request, $response, $args) {
    return $response;
});</code>

이 코드는 애플리케이션의 모든 경로에 대한 포괄적인 CORS 실행 전 요청 핸들러를 정의합니다. 필요한 CORS 헤더를 설정하고 빈 응답을 반환합니다.

추가 팁

또한 다음 팁은 CORS 관련 문제를 방지하는 데 도움이 될 수 있습니다.

  • 모든 출처의 요청을 허용하려면 Access-Control-Allow-Origin 헤더가 '*'로 설정되어 있는지 확인하세요.
  • 클라이언트 측에서 CORS 검사가 필요하지 않은 경우 비활성화하는 것을 고려하세요.
  • Access-Control-Max-Age 헤더를 설정하여 브라우저가 CORS 실행 전 응답 헤더를 캐시해야 하는 기간을 지정합니다.

다음 단계에 따라 CORS 관련 문제를 해결할 수 있습니다. 문제를 해결하고 AngularJS 애플리케이션에서 성공적인 POST 요청을 수행합니다.

위 내용은 AngularJS POST 요청을 할 때 \"실행 전 응답에 잘못된 HTTP 상태 코드 404\" 오류가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.