Ajax 크로스 필드 문제 에 대한 두 가지 해결 방법
Ajax 크로스 도 메 인 은 전단 개발 에서 흔히 볼 수 있 는 문제 입 니 다. 본 고 는 Google 브 라 우 저 Chrome 을 클 라 이언 트 로 하고 Tomcat 을 웹 서버 로 하 는 상황 에서 의 해결 방법 을 설명 합 니 다.
문제 현상
크로스 도 메 인 접근 이 발생 했 을 때 ajax 는 다음 과 같은 오 류 를 보고 합 니 다.
XMLHttpRequest cannot load http://192.168.2.12:8001/oss/api/version/check. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access.
해결 방법 1: 브 라 우 저의 크로스 도 메 인 보안 설정 을 닫 고 개발 할 때 만 테스트 합 니 다.
chrome 브 라 우 저의 경우 chrome 단축 키 를 오른쪽 클릭 한 다음 Target 의 값 뒤에 -- disable - web - security 를 추가 합 니 다. 주의 - 앞 에 빈 칸 이 있 습 니 다.예 를 들 면:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security
시작 하면 Chrome 브 라 우 저 는 "지원 되 지 않 는 명령 행 표 시 를 사용 합 니 다: disable - web - security" 라 고 알려 줍 니 다. 안전 하지 않 기 때문에 테스트 에 만 제 한 됩 니 다.
이렇게 하면 직접 테스트 할 수 있 습 니 다. 도 메 인 을 뛰 어 넘 는 오류 가 발생 하지 않 습 니 다!
해결 방법 2: 웹 서버 를 설정 하여 크로스 도 메 인 접근 을 지원 합 니 다.
Tomcat 을 웹 서버 로 하 는 상황 에서 의 해결 방법 을 설명 합 니 다. 자바 웹 프로그램의 WEB - INF 에 있 는 웹. xml 파일 에 다음 설정 을 추가 하면 됩 니 다.
CorsFilter
org.apache.catalina.filters.CorsFilter
CorsFilter
/*
메모: org. apache. catalina. filers. CorsFilter 아래 에 여러 개의 설정 옵션 이 있 습 니 다. 위 에 설정 이 없 을 때 시스템 의 기본 설정 을 사용 합 니 다.실제 생산 환경 에 서 는 수요 에 따라 배치 하여 안전성 을 높 여야 한다.예 를 들 어 cors. allowed. origins 는 접근 할 수 있 는 원본 주 소 를 설정 합 니 다. 기본 값 은 모든 것 입 니 다. 즉, * 입 니 다.이 밖 에 cors. allowed. methods, cors. allowed. headers 등 도 있다.구체 적 인 배치 세부 사항 은 본 고 참고 자료 중의 [1] 을 참조 하 시기 바 랍 니 다.
상기 두 가지 방법 은 모두 ajax 크로스 도 메 인 문 제 를 해결 할 수 있 으 므 로 본 고 는 여러분 에 게 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.