Heim > Backend-Entwicklung > PHP-Tutorial > Wie überwindet man die domänenübergreifende JSON-Kommunikation mit JSONP?

Wie überwindet man die domänenübergreifende JSON-Kommunikation mit JSONP?

Mary-Kate Olsen
Freigeben: 2024-10-22 14:42:50
Original
809 Leute haben es durchsucht

How to Overcome Cross-Domain JSON Communication with JSONP?

JSONP: Ermöglichen der domänenübergreifenden JSON-Kommunikation

Die domänenübergreifende JSON-Kommunikation stellt aufgrund der Same-Origin-Richtlinie eine Herausforderung dar. Als Lösung für dieses Problem wurde JSONP (JSON mit Padding) eingeführt.

Erstellen einer JSONP-Callback-API

Um eine JSONP-Callback-API zu erstellen, müssen Sie Folgendes tun:

  1. Akzeptieren Sie einen Callback-Parameter:Akzeptieren Sie einen „Callback“-Parameter in der GET-Anfrage.
  2. Wrap-Daten in einer Callback-Funktion:Surround Ihre JSON-Daten mit der im Anforderungsparameter angegebenen Rückruffunktion.

Beispiel in PHP:

<code class="php"><?php
$data = '{}';

if (array_key_exists('callback', $_GET)) {
    header('Content-Type: text/javascript; charset=utf8');
    header('Access-Control-Allow-Origin: http://www.example.com/');
    $callback = $_GET['callback'];
    echo $callback . '(' . $data . ');';
} else {
    header('Content-Type: application/json; charset=utf8');
    echo $data;
}
?></code>
Nach dem Login kopieren

Dieser Code sendet eine JavaScript-Datei, die die aufruft angegebene Rückruffunktion mit den JSON-Daten als erstes Argument.

Verwendung des JSONP-Dienstes

So verwenden Sie den JSONP-Dienst:

  1. Definieren Sie eine Rückruffunktion: Erstellen Sie eine JavaScript-Funktion zur Verarbeitung der JSON-Daten.
  2. Fügen Sie das JSONP-Dienstskript ein: Fügen Sie ein
    Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage