로컬로 테스트하던 잘 사용하던 중에 난 에러
Access to XMLHttpRequest at 'http://localhost:8080/SFSJ_API/api/001001000/getJsonFromIOExcel.do' from origin 'http://localhost:7080' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.
라는 문제로 에러가 나는 이유는
웹 서버 개발시 자바스크립트로 외부서버의 경로로 ajax요청을 날리면서 실패할 때,
즉 서로 다른 도메인에서 자료를 가져 오면서 CORS(Cross Origin Resource Sharing) 라는 에러가 발생하였다.
해결방안은 여러가지가 있는데
1.서버에서 설정하는 방법
(이 방법에 대해서는 정확한 방법을 모르겠다..)
2. 크롬에서 웹 시큐리티 막기
- 크롬의 바로가기의 '속성 > 바로가기 > 대상' 에 "--disable-web-security --user-data-dir='폴더위치'" 삽입
* --user-data-dir의 위치는 해당크롬에서 오류가 났을때, 백업내용? 오류내용?이 들어가는 위치라고 한다.
* 기존의 크롬도 사용하겠다하면 바로가기를 하나 더 만든 후 이름과 속성을 수정 하면 댐.
3. 크롬 웹 스토어에서 CORS 프로그램 깔기.
- 크롬 웹스토어에 들어갑니다.
(https://chrome.google.com/webstore/search/CORS?hl=ko)
- 검색창에 CORS를 친 후 프로그램 추가
저는 'Allow CORS: Access-Control-Allow-Origin' 이라는 프로그램을 설치하고 적용했습니다.
이 프로그램 기준으로 사용법은
- 크롬의 좌측 상간의 C:라는 것을 눌러줍니다.
- C: 를 누르면 사진과 같이 뜨는데, 흑색 커다란 C:를 누르면 활성화가 됩니다.
- 사용을 안하실때는 색상 C:를 다시 누르면 비활성화가 됩니다.
'IT > Error' 카테고리의 다른 글
[Error.007] Caused by: java.lang.ClassNotFoundException. (0) | 2020.01.07 |
---|---|
[Error.005] ZipFile invalid LOC header (bad signature) (0) | 2018.12.20 |
[Error.004] JRE unbound (0) | 2018.12.20 |
[Error.003] org.apache.catalina.startup.ContextConfig processAnnotationsJar (0) | 2018.10.24 |
[Error.002] Errors occurred during the build. (0) | 2018.10.23 |