HTTP-domänenübergreifende Kommunikation: Ein AJAX-Dilemma
XMLHttpRequest, das Rückgrat der AJAX-Technologie, erzwingt eine domänenübergreifende Richtlinie, die direkte Kommunikation verhindert Kommunikation mit externen Servern. Der Versuch, Daten aus einer anderen Domäne mithilfe einer AJAX-Anfrage abzurufen, führt zu einem Barrierefreiheitsfehler.
Um diese Einschränkung zu überwinden, wurde JSONP eingeführt. Aufgrund der Nichtübereinstimmung zwischen dem erwarteten JSON-Format und den empfangenen Daten führt es jedoch häufig zu syntaktischen Fehlern.
Die einzig praktikable Lösung: Ein serverseitiger Proxy
Die Die praktischste Lösung besteht darin, eine serverseitige Sprache als Proxy zu verwenden. Diese Technik ermöglicht Ihnen den indirekten Zugriff auf domänenübergreifende Daten über ein Zwischenskript, das auf Ihrem Server ausgeführt wird.
Implementierung mit jQuery und PHP
Um domänenübergreifende Daten zu implementieren Abruf mit jQuery und PHP:
jQuery Teil:
$.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 (proxy.php):
echo file_get_contents($_POST['address']);
Indem Sie dies nutzen Mit diesem Ansatz können Sie unter Einhaltung der domänenübergreifenden AJAX-Richtlinie effektiv auf Daten fremder Domänen zugreifen und diese anzeigen. Beachten Sie etwaige Einschränkungen oder potenzielle Probleme mit den gelöschten Daten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3