>  기사  >  백엔드 개발  >  CORS 정책: 실행 전 요청에 대한 응답이 액세스 제어 확인에 실패함: 'Access-Control-Allow-Origin' 없음

CORS 정책: 실행 전 요청에 대한 응답이 액세스 제어 확인에 실패함: 'Access-Control-Allow-Origin' 없음

王林
王林앞으로
2024-02-06 11:00:08729검색

CORS 策略:对预检请求的响应未通过访问控制检查:无“Access-Control-Allow-Origin”

질문 내용

저는 백엔드에서 golang과 gin-gonic/gin 웹 프레임워크를 사용하고 프론트엔드에서 axios를 반응합니다. 이틀 동안 이 문제를 해결하려고 노력했지만 여전히 아래와 같은 오류가 발생합니다.

으아아아

이 오류는 패치 요청을 보내려고 할 때만 발생하므로 해당 요청에는 실행 전 옵션 요청이 필요하지만 get 및 post가 있는 모든 항목은 예상대로 작동하며 실행 전 확인을 실행하지 않습니다.

내 라우터 구성 코드는 다음과 같습니다.

으아아아

프론트엔드입니다:

으아아아

백엔드를 올바르게 설정했으며 필요한 모든 헤더를 반환해야 한다고 확신합니다.

예를 들어 get 요청의 경우 응답 헤더는 다음과 같습니다.

으아아아

패치 요청 시도에 대해 아무런 응답도 받지 못했으며(놀랍지도 않게) 실행 전 응답 헤더는 다음과 같습니다.

으아아아

가능한 문제에 대한 제안 사항이 있나요? 이틀이 지나면 전혀 알 수 없습니다. 미리 감사드립니다!

제목도 추가해 보았습니다:

으아아아

...if 문에서 다시:

으아아아

그런데 전혀 도움이 안 돼요. 실제로 이 if 문은 프리플라이트가 실행될 때 실행되지 않으며 서버가 옵션 요청을 실행하고 있음을 콘솔에서 알 수 있습니다.

으아아아

편집자:

이것은 패치 요청을 보내는 컬 명령입니다(실제로 이것은 프리플라이트 옵션 요청입니다):

으아아아

이 요청에 대한 응답:

cors policy: response to preflight request doesn't pass access control check: no 'access-control-allow-origin' header is present on the requested resource.

정답


더 이상 사용되지 않는 패키지의 데모 구성을 사용하고 있는 것으로 나타났습니다 github.com/gin-gonic/contrib/cors。您应该使用 github.com/gin-contrib/cors 代替。这是使用 github.com/gin-contrib/cors:

으아아아

어떤 이유로 patch 请求标头缺少“cookie”标头,尽管我使用了 withcredentials매개변수.

으아아아

여기 { withcredentials: true }는 데이터로 취급되며 구성이 없습니다. 서버에 보낼 데이터가 없다면 다음과 같이 작성해야 합니다:

으아아아

위 내용은 CORS 정책: 실행 전 요청에 대한 응답이 액세스 제어 확인에 실패함: 'Access-Control-Allow-Origin' 없음의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제