2017-09-10 2 views
0

$http 호출에서 withCredentials: true을 사용하여 요청 헤더에 세션 ID를 전송했습니다.

하지만이 직면되었다 :

"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'. Origin 'null' is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute."

그래서 난에 서버 측에서 내 CORS 필터를 변경 :

"The 'Access-Control-Allow-Origin' header has a value ' http://localhost:8080 ' that is not equal to the supplied origin. Origin 'null' is therefore not allowed access."

수있는 사람 :

response.setHeader("Access-Control-Allow-Origin", "http://localhost:8080/"); 

지금이 오류를 얻고있다 솔루션을 말해 주시겠습니까? ("*", "액세스 제어 - 허용 - 원산지")

response.setHeader;

+0

원본 요청 헤더의 값을 다시 Access-Control-Allow-Origin으로 되돌릴 수 있습니다. 'response.setHeader ("Access-Control-Allow-Origin", request.getHeader ("Origin"))); ' – sideshowbarker

답변

2

이 코드를 사용해보십시오

+0

문제 설명에서 언급했듯이 response.setHeader ("Access-Control-Allow-Origin", "*"); 요청의 자격 증명 모드가 '포함'인 경우 응답의 'Access-Control-Allow-Origin'헤더 값이 와일드 카드 여야합니다. '원점'null '은 액세스 할 수 없으므로 입니다. XMLHttpRequest에 의해 시작된 요청의 자격 증명 모드는 withCredentials 특성으로 제어됩니다. " 오류. –