Heim >Backend-Entwicklung >PHP-Tutorial >Nachdem die Sitzungsfreigabe zulässig ist, generiert die Ajax-Anfrage eine neue Sitzungs-ID
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!
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...