Heim >Web-Frontend >js-Tutorial >Wie kann ich domänenübergreifende Daten mithilfe von AJAX und einem serverseitigen Proxy abrufen?
AJAX Cross-Domain Data Retrieval
Beim Versuch, eine AJAX-HTTP-Anfrage an eine domänenübergreifende URL durchzuführen (z. B. „http: //www.google.com“) erzwingen Browser eine domänenübergreifende Richtlinie, die den direkten Abruf und die Anzeige von verbietet Daten.
Eine mögliche Lösung besteht darin, den Datentyp „jsonp“ in der AJAX-Anfrage zu verwenden. Dadurch können Sie zwar möglicherweise Daten von der fremden Domäne empfangen, aufgrund des Nicht-JSON-Formats der empfangenen Daten können jedoch Syntaxfehler auftreten.
Um diese Einschränkungen zu umgehen, besteht der praktischste Ansatz darin, einen Server einzusetzen -seitige Sprache als Proxy. Dazu müssen Sie die domänenübergreifende URL an ein Skript auf Ihrem eigenen Server senden (z. B. ein PHP-Skript mit dem Namen „proxy.php“), das dann die Daten von der externen Domäne abruft und an Ihren AJAX-Aufruf zurückgibt.
Hier ist ein Beispiel mit jQuery und einem PHP-Proxy:
jQuery Code:
$.ajax({ url: 'proxy.php', type: 'POST', data: { address: 'http://www.google.com' }, success: function(response) { // response now contains full HTML of google.com } });
PHP-Proxy-Skript (proxy.php):
echo file_get_contents($_POST['address']);
Durch die Nutzung dieses Proxy-Mechanismus können Sie Daten abrufen und anzeigen aus domänenübergreifenden Quellen im Rahmen der Einschränkungen der domänenübergreifenden Richtlinie. Es ist jedoch wichtig, sich der Einschränkungen und möglichen Auswirkungen des Scrapings von Daten aus externen Domänen bewusst zu sein.
Das obige ist der detaillierte Inhalt vonWie kann ich domänenübergreifende Daten mithilfe von AJAX und einem serverseitigen Proxy abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!