Zusammenfassung der domänenübergreifenden Problembehandlung und -lösungen von Vue

Zusammenfassung der domänenübergreifenden Problembehandlung und -lösungen von Vue

Wenn Sie eine Netzwerkanfrage senden, werden die folgenden gespeicherten Informationen angezeigt. Herzlichen Glückwunsch, Sie haben die Domäne überschritten.

Der Zugriff auf XMLHttpRequest bei 'XXXXX' vom Ursprung 'XXXXXX' wurde blockiert durch
CORS-Richtlinie: Die Antwort auf die Preflight-Anforderung besteht die Zugriffskontrollprüfung nicht:
Auf der angeforderten Ressource ist kein „Access-Control-Allow-Origin“-Header vorhanden.

1.1 Was ist Cross-Domain?

Das Cross-Domain-Problem entsteht aufgrund der Homologierichtlinie des Browsers. Die sogenannte Homologie bedeutet, dass die beiden Seiten dasselbe Protokoll, denselben Host und dieselbe Portnummer haben. Dies ist die Kern- und Grundfunktion des Browsers. Ohne die Homologierichtlinie wäre unser Browser sehr unsicher und könnte jederzeit angegriffen werden.

Wenn einer der Protokollnamen, Domänennamen und Portnummern unterschiedlich sind, tritt ein domänenübergreifendes Problem auf.

Hier ist hervorzuheben, dass Cross-Domain-Verarbeitung nicht bedeutet, dass die Anfrage nicht gesendet wurde. Es bedeutet, dass die Anfrage erfolgreich gesendet wurde und der Server die Daten auch an Sie zurückgegeben hat, der Browser sie jedoch aus Sicherheitsgründen abgelehnt hat.

2.2 Wie löst man das domänenübergreifende Problem?

1. Methode 1

Wenn die Bedingungen es zulassen, können Sie mit dem Backend kommunizieren. Das Backend fügt beim Antworten einen Antwortheader hinzu, und das Frontend kann domänenübergreifend ohne Operation arbeiten.

2. Methode 2

Das Vue-Scaffolding bietet eine sehr einfache Methode:

Wenn Sie cli3 oder höher verwenden, befindet sich im Verzeichnis keine Konfigurationsdatei. Sie müssen im Stammverzeichnis eine Datei vue.config.js erstellen und die benötigten Konfigurationsinformationen hinzufügen.

module.exports={
    Seiten: {
        Index: {
        //Eintrag:"src/main.js",
        },
    },
    devServer: {
        Proxy: {
            '/api': {
                Ziel: 'Anzufordernde URL',
                Pfad neu schreiben: {'^/api':''},
                ws: wahr,
                changeOrigin: true
            }
        }
    }
}

Es wird ein Proxyserver erstellt, um Daten vom Backend statt vom Browser anzufordern, da zwischen dem Server kein domänenübergreifendes Problem besteht.

Der Protokolldomänenname und die Portnummer dieses Proxyservers sind dieselben wie der Protokolldomänenname und die Portnummer, wenn Sie das Projekt ausführen. Sie können

Verwenden Sie http://localhost:8080/api. Wenn Sie beim Anfordern von Daten /api hinzufügen, wird erkannt, dass Sie domänenübergreifend vorgehen müssen. Wenn Sie es nicht hinzufügen, greifen Sie auf die entsprechenden Daten im Stammverzeichnis des Projekts zu.

3. Methode 3

Verwendet jsonp, kann aber nur GET-Anfragen wie Post, Put, Patch usw. verarbeiten.

Dies ist das Ende dieses Artikels über die Handhabung domänenübergreifender Probleme durch Vue. Weitere relevante Inhalte zur Handhabung domänenübergreifender Probleme durch Vue finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Vue löst domänenübergreifende Probleme (empfohlen)
  • Detaillierter Lösungsprozess für domänenübergreifende Probleme bei der Bereitstellung von Vue-Projekten
  • Domänenübergreifender Zugriff und Proxy-Einstellungsmethode für die Vue-Projektkonfiguration
  • Vue-Cross-Domain-Verarbeitungsmethode (Problem beim Festlegen der Basis-URL im Vue-Projekt)

<<:  Analyse des Prozesses zur Konfiguration einer einfachen Netzwerkumgebung basierend auf der Sprache Tcl

>>:  Eine kurze Einführung in MySQL-Datenbankoptimierungstechniken

Artikel empfehlen

Implementierung eines Random Roll Callers basierend auf JavaScript

In diesem Artikel wird der spezifische JavaScript...

Detaillierte Erklärung der Beziehung zwischen Vue und VueComponent

Der folgende Fall überprüft die Wissenspunkte der...

Tutorial zu HTML-Tabellen-Tags (11): Horizontales Ausrichtungsattribut ALIGN

In horizontaler Richtung können Sie die Ausrichtu...

Beispielcode zur Implementierung transparenter Verlaufseffekte mit CSS

Die Titelbilder in den Spalten von Zhihu Discover...

MySql implementiert die Seitenabfragefunktion

Zunächst müssen wir klarstellen, warum wir pagini...

Vue realisiert den Card-Flip-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

Ausführliche Erklärung zum Currying von JS-Funktionen

Inhaltsverzeichnis 1. Ergänzende Wissenspunkte: i...

Detaillierte Erläuterung der Wissenspunkte zu Linux-Dateivorgängen

Verwandte Systemaufrufe für Dateioperationen erst...

Detailliertes Tutorial zur Installation von Nginx 1.16.0 unter Linux

Da ich in letzter Zeit mit Linux herumgespielt ha...

Detaillierte Erklärung der MySQL-Berechtigungssteuerung

Inhaltsverzeichnis MySQL-Berechtigungskontrolle B...