Ajax 요청에 구성 추가
$.ajax({ url:url, //加上 xhrFields及crossDomain xhrFields: { //允许带上凭据 withCredentials: true }, crossDomain: true, //以上 success:function(result){ alert("test"); }, error:function(){ } });
withCredentials:
기본적으로 교차 출처 요청은 자격 증명(쿠키, HTTP 인증, 클라이언트 SSL 인증 등)을 제공하지 않습니다. withCredentials 속성을 true로 설정하여 특정 요청이 자격 증명을 보내도록 지정할 수 있습니다. 서버가 자격 증명이 포함된 요청을 받으면 다음 HTTP 헤더로 응답합니다."Access-Control-Allow-Credentials: true"
인증 정보가 포함된 요청이 전송되었지만 서버의 응답에 위 헤더가 포함되지 않은 경우 브라우저는 JavaScript에 응답을 전달하지 않습니다(따라서 responseText 빈 문자열을 포함하고 상태 값은 0이며 onerror() 이벤트 핸들러가 호출됩니다. 또한 서버는 원본이 자격 증명이 포함된 요청을 보낼 수 있음을 나타내기 위해 Preflight 응답에 이 HTTP 헤더를 보낼 수도 있습니다.
withCredentials 속성을 지원하는 브라우저에는 Firefox 3.5+, Safari 4+ 및 Chrome이 포함됩니다. IE10 이하 버전은 지원되지 않습니다.
동시에
기본 허용 교차 도메인 응답 헤더를 추가한 후
Access-Allow-Credentials: true를 추가해야 합니다.
또한 Google의 보안 정책으로 인해
withCredentials가 true인 경우
Access-Allow -ResponseHeader의 출처는 와일드카드 '*'를 사용할 수 없습니다.
그렇지 않으면 자격 증명 플래그가 true인 경우 'Access-Control-Allow-Origin' 헤더에 와일드카드 '*'를 사용할 수 없습니다
라는 메시지가 표시됩니다. 따라서 원본 'http://url'에는 접근이 허용되지 않습니다.
테스트할 다른 브라우저
Ajax 요청에 구성 추가
$.ajax({ url:url, //加上 xhrFields及crossDomain xhrFields: { //允许带上凭据 withCredentials: true }, crossDomain: true, //以上 success:function(result){ alert("test"); }, error:function(){ } });
withCredentials:
기본적으로 교차 출처 요청은 자격 증명(쿠키, HTTP 인증, 클라이언트 SSL 인증 등)을 제공하지 않습니다. withCredentials 속성을 true로 설정하여 특정 요청이 자격 증명을 보내도록 지정할 수 있습니다. 서버가 자격 증명이 포함된 요청을 받으면 다음 HTTP 헤더로 응답합니다."Access-Control-Allow-Credentials: true"
인증 정보가 포함된 요청이 전송되었지만 서버의 응답에 위 헤더가 포함되지 않은 경우 브라우저는 JavaScript에 응답을 전달하지 않습니다(따라서 responseText 빈 문자열을 포함하고 상태 값은 0이며 onerror() 이벤트 핸들러가 호출됩니다. 또한 서버는 원본이 자격 증명이 포함된 요청을 보낼 수 있음을 나타내기 위해 Preflight 응답에 이 HTTP 헤더를 보낼 수도 있습니다.
withCredentials 속성을 지원하는 브라우저에는 Firefox 3.5+, Safari 4+ 및 Chrome이 포함됩니다. IE10 이하 버전은 지원되지 않습니다.
동시에
기본 허용 교차 도메인 응답 헤더를 추가한 후
Access-Allow-Credentials: true를 추가해야 합니다.
또한 Google의 보안 정책으로 인해
withCredentials가 true인 경우
Access-Allow -ResponseHeader의 Origin은 와일드카드 '*'를 사용할 수 없습니다.
그렇지 않으면 메시지가 표시됩니다.
자격 증명 플래그가 true인 경우 'Access-Control-Allow-Origin' 헤더에 와일드카드 '*'를 사용할 수 없습니다. 따라서 ://url'에는 접근이 허용되지 않습니다.
다른 브라우저도 테스트 중입니다
위 내용은 Ajax 도메인 간 액세스 문제, 세션을 저장할 수 없는 문제 등을 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!