Heim > Web-Frontend > js-Tutorial > Was sind die domänenübergreifenden Probleme in Vue-Projekten?

Was sind die domänenübergreifenden Probleme in Vue-Projekten?

php中世界最好的语言
Freigeben: 2018-04-28 11:19:29
Original
1440 Leute haben es durchsucht

Dieses Mal werde ich Ihnen zeigen, welche domänenübergreifenden Probleme es im Vue-Projekt gibt und welche Vorsichtsmaßnahmen beim Umgang mit domänenübergreifenden Problemen im Vue-Projekt gelten. Hier sind praktische Fälle Schauen Sie mal rein.

Problembeschreibung

Front-End-Vue-Framework, Hintergrund-PHP, Baidu-Cross-Domain-Problemhintergrund, fügen Sie diesen Code hinzu

header("Access-Control-Allow-Origin: *");
Nach dem Login kopieren

add Danach wurde dieser Fehler gemeldet:

Der Wert des Headers „Access-Control-Allow-Origin“ in der Antwort darf nicht der Platzhalter „*“ sein, wenn der Anmeldeinformationsmodus der Anfrage lautet ' include'.
Der Wert des Headers „Access-Control-Allow-Origin“ in der Antwort darf nicht der Platzhalter „*“ sein, wenn der Anmeldeinformationsmodus der Anfrage „include“ ist.

Lösung

Artikellink: CORS: Anmeldeinformationsmodus ist ' include'

xhrFields: {
 withCredentials: false
},
Nach dem Login kopieren

Ändern Sie withCredentials: true in withCredentials: false. Wenn Sie den obigen Code nicht hinzufügen würden, würden Sie diesen Fehler natürlich nicht erhalten. Obwohl die Lösung sehr einfach ist, habe ich festgestellt, dass ich nicht viel Wissen habe und es klären muss.

•Es gibt viele HTTP-Anfragemethoden und einige Anfragen lösen CORS-Preflight-Anfragen aus. „Anfragen, die einen Preflight erfordern“ verwenden die OPTIONS-Methode, um eine Preflight-Anfrage an den Server zu initiieren, um zu erfahren, ob der Server die tatsächliche Anfrage zulässt.

•Browser senden im Allgemeinen keine Identitätsanmeldeinformationen für domänenübergreifende Anfragen. Wenn Sie Anmeldeinformationen senden möchten, müssen Sie das withCredentials -Attribut von XMLHttpRequest auf true setzen: withCredentials: true. Zu diesem Zeitpunkt müssen die Antwortinformationen des Servers Access-Control-Allow-Credentials: true enthalten, andernfalls wird der Antwortinhalt nicht zurückgegeben.

• Für Anfragen mit Identitätsanmeldeinformationen darf der Server den Wert von Access-Control-Allow-Origin nicht auf „*“ setzen. Weil der Anforderungsheader Cookie-Informationen enthält. Um den Wert von Access-Control-Allow-Origin auf http://www.zrt.local:8080 festzulegen.

•Darüber hinaus enthält der Antwortheader auch das Feld Set-Cookie . Versuchen Sie, das Cookie zu ändern. Wenn der Vorgang fehlschlägt, wird eine Ausnahme ausgelöst .

Wenn Sie Cookies mit domänenübergreifenden Anfragen mitbringen möchten, müssen Sie hinzufügen:

crossDomain: true, 
xhrFields: {
  withCredentials: true
}
Nach dem Login kopieren
Nach dem Login kopieren

Dies ist wieder das Problem am Anfang des Artikels:

Backend-Code:

Access-Control-Allow-Origin: 'http://www.zrt.local:8080'
Access-Control-Allow-Credentials: true
Nach dem Login kopieren

Frontend-Code:

crossDomain: true, 
xhrFields: {
  withCredentials: true
}
Nach dem Login kopieren
Nach dem Login kopieren

Genau das Gleiche wie zuvor.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

JS, um die linke und rechte Liste zueinander zu verschieben

Teilen Sie die Seite und springen Sie zurück zur Startseite

Das obige ist der detaillierte Inhalt vonWas sind die domänenübergreifenden Probleme in Vue-Projekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage