Heim >Backend-Entwicklung >PHP-Tutorial >Fineuploader löst das Problem des Cookie-Verlusts beim Hochladen von Dateien über Subdomains hinweg
Im aktuellen Projekt wird Fineuploader, eine reine HTML5-Upload-Komponente, verwendet. Während des Entwicklungsprozesses wird der Upload-Dienst separat unter einer bestimmten Subdomain platziert Der Benutzer wurde im Back-End-Code konfiguriert. Es wurde festgestellt, dass 302 immer auf die nicht angemeldete Seite umgeleitet wird. Bei der Untersuchung wurde festgestellt, dass die Ajax-XHR-Anfrage keine Cookies enthielt
Ich habe online gesucht und geschrieben Native Ajax-Anfragemethode:var xhr = new XMLHttpRequest(); xhr.open("POST", "http://xxxx.com/demo/b/index.php", true); xhr.withCredentials = true; //支持跨域发送cookies xhr.send();jquerys Ajax-Post-Methodenanfrage:
$.ajax({ type: "POST", url: "http://xxx.com/api/test", dataType: 'jsonp', xhrFields: { withCredentials: true }, crossDomain: true, success:function(){ }, error:function(){ } })Serverseitige Einstellungen:
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: http://www .xxx.com");
cors: { allowXdr: true,// 此参数目前不知道有啥用 expected: true, sendCredentials: true }Nach der Änderung ist das Problem gelöst