Heim >Backend-Entwicklung >PHP-Tutorial >Nachdem die Sitzungsfreigabe zulässig ist, generiert die Ajax-Anfrage eine neue Sitzungs-ID

Nachdem die Sitzungsfreigabe zulässig ist, generiert die Ajax-Anfrage eine neue Sitzungs-ID

WBOY
WBOYOriginal
2016-10-11 14:23:101238Durchsuche

Die aktuelle Situation ist:
Die Sitzungs-ID, die durch den direkten Zugriff auf cd.xxx.com generiert wird, ist dieselbe wie die Sitzungs-ID, die durch den Zugriff auf www.xxx.com generiert wird.
Verwenden Sie jedoch Ajax in cd.xxx.com, um anzufordern www.xxx.com generiert eine neue Sitzungs-ID, was zu einem Verifizierungsfehler führt!
Gibt es eine Möglichkeit, damit umzugehen? Vielen Dank im Voraus!

Antwortinhalt:

Die aktuelle Situation ist:
Die Sitzungs-ID, die durch den direkten Zugriff auf cd.xxx.com generiert wird, ist dieselbe wie die Sitzungs-ID, die durch den Zugriff auf www.xxx.com generiert wird.
Verwenden Sie jedoch Ajax in cd.xxx.com, um anzufordern www.xxx.com generiert eine neue Sitzungs-ID, was zu einem Verifizierungsfehler führt!
Gibt es eine Möglichkeit, damit umzugehen? Vielen Dank im Voraus!

Dieses Problem gehört zum Problem der domänenübergreifenden Übertragung von Cookies durch Ajax. Eine Lösung habe ich in einem Blogbeitrag gefunden.

Native Ajax-Anfragemethode:

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

JQuery-Post-Methodenanforderung:

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

Serverseitige Einstellungen:

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

Vielen Dank an den ursprünglichen Autor:
http://blog.sina.com.cn/s/blo...

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn