>백엔드 개발 >PHP 튜토리얼 >세션 공유가 허용된 후 ajax 요청은 새 session_id를 생성합니다.

세션 공유가 허용된 후 ajax 요청은 새 session_id를 생성합니다.

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-10-11 14:23:101281검색

현재 상황은 다음과 같습니다.
cd.xxx.com에 직접 접속하여 생성된 session_id는 www.xxx.com에 접속하여 생성된 session_id와 동일합니다.
그러나 cd.xxx.com에서 ajax를 사용하여 요청합니다. www.xxx.com이 새로운 session_id를 생성하여 확인이 실패하게 됩니다!
이를 처리할 방법이 있나요? 미리 감사드립니다!

답글 내용:

현재 상황은 다음과 같습니다.
cd.xxx.com에 직접 접속하여 생성된 session_id는 www.xxx.com에 접속하여 생성된 session_id와 동일합니다.
그러나 cd.xxx.com에서 ajax를 사용하여 요청합니다. www.xxx.com이 새로운 session_id를 생성하여 확인이 실패하게 됩니다!
이를 처리할 방법이 있나요? 미리 감사드립니다!

이 문제는 도메인 간에 쿠키를 전달하는 Ajax와 관련이 있습니다. 블로그 게시물에서 해결책을 찾았습니다.

기본 Ajax 요청 방법:

<code>var xhr = new XMLHttpRequest();  
xhr.open("POST", "http://xxxx.com/demo/b/index.php", true);  
xhr.withCredentials = true; //支持跨域发送cookies
xhr.send();</code>

jquery 게시 방법 요청:

<code> $.ajax({
    type: "POST",
    url: "http://xxx.com/api/test",
    dataType: 'jsonp',
    xhrFields: {withCredentials: true},
    crossDomain: true,
})</code>

서버 측 설정:

<code>header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: http://www.xxx.com");</code>

원저자에게 감사드립니다:
http://blog.sina.com.cn/s/blo...

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.