Dieses Mal werde ich Ihnen die Methode zum Aufrufen von JAVA-Backends mit Ajax-Domänen (JSONP) vorstellen Fall. Schauen wir uns das einmal an.
1. JSONP-DefinitionJSONP ist die Abkürzung für Englisch JSON with Padding und ist ein inoffizielles Protokoll. Es ermöglicht die Generierung von Skript-Tags auf der Serverseite und die Rückgabe an den Client, wodurch der Site-Zugriff in Form eines
Javascript-Callbacks ermöglicht wird. JSONP ist eine Skript-Tag-Injektion, die die vom Server zurückgegebene Antwort zur Seite hinzufügt, um bestimmte Funktionen zu implementieren.
2. Der Ursprung von JSONPUm den Ursprung von JSONP zu erklären, sprechen wir zunächst über die „SOP: Same Origin Policy“ des Browsers. Kurz gesagt, der Browser beschränkt Skriptprogramme darauf, nur mit Skripten desselben Protokolls, desselben Domänennamens und desselben Ports zu interagieren. Dies umfasst das Teilen und Übergeben von Variablen usw. Die Bereitstellung von Cookies erfolgt ebenfalls nach derselben Richtlinie. Dies führt zu einigen Problemen bei der Integration von Anwendungen mit mehreren Servern. Das Problem des domänenübergreifenden Zugriffs führt dazu, dass der Ajax-Code von Site A nicht auf die Daten von Site B zugreifen kann.
Wie löst man den domänenübergreifenden Zugriff? Dann müssen Sie eine Funktion des Browsers nutzen: Obwohl der Browser nicht zulässt, dass Skripte auf der Seite Daten domänenübergreifend lesen, erlaubt er HTML, auf domänenübergreifende Ressourcen wie Bilder, CSS und Skripte zu verweisen. Der Verweis auf das Skriptprogramm ist etwas Besonderes. Nachdem es vom Browser analysiert wurde, ist es dasselbe wie das lokale Skriptprogramm und kann sofort interpretiert und ausgeführt werden. Beispielsweise gibt es in einer js-Datei auf Site B ein einfaches Eingabeaufforderungsfeld: warning („Das ist Victor!“). Wenn Sie auf Site A auf dieses JS verweisen, wird dieses Skript in der Anwendung auf Site B ausgeführt und zeigt eine Warnmeldung an. Da der Verweis auf externe Skripte über Skript-Tags erfolgt und das Skriptprogramm alle Tags der HTML-Seite über DOM steuern kann (einschließlich der dynamischen Erstellung von Skript-Tags), kann dies durch den Aufruf von externen Programmen erreicht werden auf lokale Ressourcen. Darüber hinaus können durch die Verwendung des