Internet Explorer 10이 XMLHttpRequest 'xhr을 무시합니다.자격 증명 사용 = true'
현재 IE10(호환성이 아닌 IE10 모드)을 사용하는 도메인 간 Ajax 통화에 문제가 있습니다.
상황:나는 두 개의 도메인을 가지고 있습니다.http://a
그리고.http://b
쿠키 세트가 있습니다.http://b
나는 현재 페이지에 있습니다.http://a
.
저는 CORS 요청을 하고 싶습니다.http://b
XMLHttpRequest(http://blogs.msdn.com/b/ie/archive/2012/02/09/cors-for-xhr-in-ie10.aspx), 에 따라 작동해야 하며 요청에 쿠키를 포함해야 함)를 사용합니다.JS는 다음과 같습니다.
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://b', true);
xhr.withCredentials = true;
xhr.send();
이것은 쿠키가 요청에 첨부되도록 보장해야 합니다. 하지만 Fiddler 추적은 쿠키가 첨부되지 않은 것을 보여주고, 저는 그것을 얻습니다.401: Access Denied
.
서버는 CORS와 함께 작동하도록 구성되어 있으며, 다음과 같은 Access-Control 헤더를 포함합니다.
Access-Control-Allow-Origin: http://a
Access-Control-Allow-Credentials: true
(OPTIONS 사전 비행 요청이 없고 IE가 보내는 첫 번째 요청이 GET이고 쿠키가 존재하지 않아 401이 발생하기 때문에 이것은 아무런 차이가 없습니다.
게다가, JS 스니펫은 파이어폭스와 오페라 모두에서 잘 작동합니다.
그것은 아마도 오래된 IEP3P 문제일 것입니다.IE의 기본 설정에서 응답에도 P3P 헤더가 없는 쿠키가 설정된 경우, 쿠키는 "first-party only"로 표시됩니다.즉, iframe 또는 CORS 요청과 같은 타사 상황에서 IE는 쿠키 전송을 거부합니다.
이를 수정하려면 쿠키를 설정할 때 P3P 헤더를 제공해야 합니다.자세한 내용은 http://msdn.microsoft.com/en-us/library/ms537343%28v=vs.85%29.aspx 을 참조하십시오.
업데이트: 링크가 비활성화되었지만 인터넷 보관소에서 볼 수 있습니다.
저도 비슷한 문제가 있었는데 브라우저 설정이 타사 쿠키를 차단하고 있는 것으로 나타났습니다(IE10 > 인터넷 옵션 > 개인정보 보호 > 고급 > 타사 쿠키 > 동의).문제를 해결하기 위해 "자동 쿠키 처리 무시", "승인"(제3자 쿠키), "항상 세션 쿠키 허용"을 선택했습니다.
우리는 vari : cookie라는 헤더를 추가했고 그것은 작동했습니다.
언급URL : https://stackoverflow.com/questions/12643960/internet-explorer-10-is-ignoring-xmlhttprequest-xhr-withcredentials-true
'programing' 카테고리의 다른 글
비주얼 스튜디오 코드에서 라라벨 블레이드 코드를 포맷하는 방법은 무엇입니까? (0) | 2023.08.15 |
---|---|
그리드 간격 변경 및 눈금 레이블 지정 (0) | 2023.08.15 |
Windows 10에서 도커 시스템을 제거하는 방법 (0) | 2023.08.15 |
열 "dbo" 또는 사용자 정의 함수 또는 집계 "dbo"를 찾을 수 없습니다.splitfn" 또는 이름이 모호함 (0) | 2023.08.15 |
스크롤로 인해 응답 테이블 내부의 부트스트랩 버튼 드롭다운이 표시되지 않음 (0) | 2023.08.15 |