Cross-Origin-Anfrage mit JSONP: Ein einfaches jQuery- und PHP-Beispiel
Beim Umgang mit den Einschränkungen, die durch die Same-Origin-Richtlinie auferlegt werden, JSONP erweist sich als effektive Lösung für Cross-Origin-Anfragen. Mit dieser Technik können Sie Daten aus externen Quellen abrufen und gleichzeitig potenzielle Sicherheitslücken vermeiden.
jQuery und JSONP
Um eine JSONP-Anfrage mit jQuery zu initiieren, können Sie die verwenden $.getJSON-Methode. Diese Methode löst automatisch eine JSONP-Anfrage aus, wie im folgenden Codeausschnitt gezeigt:
$.getJSON('http://www.example.com/jsonp.php', {firstname: 'Jeff'}, function(res) { alert('Your name is ' + res.fullname); });
PHP und JSONP
Serverseitig dient PHP als Endpunkt zur Bearbeitung der JSONP-Anfrage. Die Methode $.getJSON hängt einen Callback-Parameter an die URL-Abfragezeichenfolge an, der anschließend vom PHP-Skript verarbeitet wird. Das Skript gibt die in der Callback-Funktion verpackte Antwort zurück, wie hier gezeigt:
<?php $fname = $_GET['firstname']; if ($fname == 'Jeff') { echo $_GET['callback'] . '(' . "{'fullname': 'Jeff Hansen'}" . ')'; } ?>
Beachten Sie die Verwendung von $_GET['callback'] und die richtige JSONP-Syntax beim Erstellen der Antwort. Dadurch wird sichergestellt, dass die vom Client bereitgestellte Rückruffunktion zum Kapseln der Antwort verwendet wird.
Umgang mit HTML-Ergebnissen
Während das bereitgestellte Beispiel hauptsächlich den Austausch von JSON-Daten veranschaulicht, Es ist erwähnenswert, dass JSONP auch zur Übertragung von HTML-Inhalten verwendet werden kann. Um dies zu berücksichtigen, stellen Sie einfach sicher, dass das PHP-Skript den HTML-Code in die Rückruffunktion einschließt und ihn als Antwort sendet. Das clientseitige JavaScript kann dann den HTML-Code nach Bedarf analysieren und rendern.
Das obige ist der detaillierte Inhalt vonWie können jQuery und PHP Cross-Origin-Anfragen mithilfe von JSONP erleichtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!