programing

요청 가져오기가 액세스 제어 검사를 통과하지 못했습니다.요청된 리소스에 'Access-Control-Allow-Origin' 헤더가 없습니다.

easyjava 2023. 2. 23. 23:09
반응형

요청 가져오기가 액세스 제어 검사를 통과하지 못했습니다.요청된 리소스에 'Access-Control-Allow-Origin' 헤더가 없습니다.

응용 프로그램에서 Tomcat 서버로 Ajax 요청을 보내려고 하는데 다음 오류가 나타납니다(웹 앱이 Chrome에서 실행 중).

비행 전 요청에 대한 응답이 액세스 제어 검사를 통과하지 못했습니다.요청된 리소스에 'Access-Control-Allow-Origin' 헤더가 없습니다.따라서 오리진 'null'은 액세스가 허용되지 않습니다.응답은 HTTP 상태 코드 403이었습니다.

사용해보았습니다.

'Access-Control-Allow-Origin' : 'http://localhost:8080/app',

하지만 그것은 작동하지 않았다.

내 Ajax 코드:

 var arr = [1];
   $.ajax({ 
   url: 'http://localhost:8080/app',
   type: 'POST',
   contentType:'application/json',
   headers: {
   'Access-Control-Allow-Origin' : 'http://localhost:8080',
   },
       data: JSON.stringify(arr[0]),
       success: function(data){
        //On ajax success do this
             alert(data);
          }
     });

기본적으로 크로스 도메인 AJAX 요구를 작성하려면 요청된 서버에서 크로스 오리진 공유 리소스(CORS)를 허용해야 합니다.상세한 것에 대하여는, http://www.html5rocks.com/en/tutorials/cors/ 를 참조해 주세요.

이 시나리오에서는 실제로 http://localhost:8080/app 서버 측 코드로 설정해야 하는 헤더를 클라이언트에 설정하고 있습니다.

만약 당신이 PHP Apache 서버를 사용하고 있다면, 당신은 다음 항목을 당신의 컴퓨터에 추가해야 할 것입니다..htaccess파일:

Header set Access-Control-Allow-Origin "*"

REST 서비스에 의뢰하는 경우:

스프링 주석을 사용하여 REST 서비스의 엔드포인트에서 CORS(원점 간 리소스 공유)를 허용해야 합니다.

@CrossOrigin(origins = "http://localhost:8080")

매우 좋은 튜토리얼: https://spring.io/guides/gs/rest-service-cors/

언급URL : https://stackoverflow.com/questions/33820142/getting-request-doesnt-pass-access-control-check-no-access-control-allow-orig

반응형