Anfordern von Daten aus verschiedenen Domänen mit AJAX
Trotz der Sicherheitsbedenken im Zusammenhang mit domänenübergreifenden Ajax-Aufrufen gibt es Situationen beim Abrufen von Daten von externe Websites erforderlich. Diese Frage untersucht die Möglichkeiten, einen solchen Datenaustausch unter Berücksichtigung der inhärenten Einschränkungen zu erreichen.
Das Haupthindernis für domänenübergreifende Ajax-Aufrufe ist die Same-Origin-Richtlinie (SOP) des Browsers. Diese Richtlinie verbietet direkte Ajax-Anfragen an URLs in verschiedenen Domänen. Wie aus der Frage hervorgeht, werden Versuche, einen Ajax-Aufruf an „http://www.google.com“ zu tätigen, vom Browser blockiert.
Während die Einstellung des Datentyps auf „jsonp“ domänenübergreifende Aufrufe ermöglicht , es stellt eine neue Herausforderung dar. Die Antwort von der externen Website liegt nicht im JSON-Format vor, was beim Versuch, sie zu analysieren, zu Syntaxfehlern führt.
Lösung: Verwendung einer serverseitigen Sprache als Proxy
Seitdem Da direkte Ajax-Aufrufe aufgrund von SOP nicht zulässig sind, besteht die Lösung darin, eine serverseitige Sprache als Proxy zu verwenden. Diese Sprache kann die Daten von der gewünschten externen Website abrufen und sie dann an den Browser des Clients zurückgeben.
Ein Ansatz zur Umsetzung wird in den bereitgestellten Code-Schnipseln veranschaulicht. Der jQuery-Teil des Codes stellt eine Ajax-Anfrage an ein PHP-Skript namens „proxy.php“ und übergibt dabei die Adresse der externen Website als Parameter. Nach Erhalt der Antwort von der externen Website gibt das PHP-Skript (proxy.php) einfach deren Inhalt zurück. Auf diese Weise empfängt der Browser die Daten von der externen Website, ohne gegen die SOP zu verstoßen.
Es ist wichtig zu beachten, dass bei dieser Methode Daten (in diesem Fall die Adresse der externen Website) an einen Server gesendet werden. Daher ist es wichtig, die Auswirkungen auf Sicherheit und Datenschutz zu berücksichtigen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit AJAX Daten aus verschiedenen Domänen unter Berücksichtigung der Same-Origin-Richtlinie abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!