크롬에서 HTML으로 외부 사이트에서 AJAX으로 데이터를 요청 하려고 했더니 다음 에러 발생.
Access to XMLHttpRequest at 'https://url~' from origin 'null' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
원인: 보안을 위해서 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)이 허용 되지 않기 때문에 발생.
해결: 크롬 바로가기 -> 속성 -> 대상 :
"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir=%LOCALAPPDATA%\Google\chromeTemp -–allow-file-access-from-files
위와 같이 옵션을 주면 CORS 에러 없이 사용 할 수 있다.
--disable-web-security : CORS 사용 체크 안 함.
-–allow-file-access-from-files : AJAX / JSON 같은 것을 사용 할 때 로컬 파일에 대한 엑세스 허용.
위와 같이 옵션을 주고 크롬을 열면
의 경고 메시지가 뜨는데 보안경고로 그냥 사용 하면 된다.
크롬 바로가기를 하나 더 만들어서 개발 할 때만 사용 해야 겠다.
'Programming' 카테고리의 다른 글
C# 프로퍼티 초기화 방법 Auto Property Initializer (0) | 2022.02.18 |
---|---|
C# Convert.ToDateTime(String) 날짜 문자열을 DataTime형으로 변환 (0) | 2021.12.29 |
모던 JavaScript 튜토리얼 (0) | 2021.12.22 |
Modal VS Modeless Dialog (0) | 2021.11.05 |
C# float seconds to time format | C# 시간 초 값을 시간 형식으로 얻어 오기 (0) | 2021.11.01 |