Heim >Backend-Entwicklung >PHP-Problem >PHP JSONP konvertiert JSON-Daten

PHP JSONP konvertiert JSON-Daten

王林
王林Original
2023-05-28 17:50:08824Durchsuche

Mit der rasanten Entwicklung des mobilen Internets beginnen immer mehr Websites, Web-APIs zur Bereitstellung von Datendiensten zu verwenden. Wenn wir die Web-API verwenden, um Daten im Front-End abzurufen, verwenden wir normalerweise AJAX, um asynchrone Anforderungen zu stellen. Aufgrund der Einschränkungen der Browser-Richtlinie „Same Origin“ kann AJAX jedoch nur Daten vom Server „Same Origin“ anfordern, was den Umfang der Möglichkeiten des Front-Ends, Daten abzurufen, einschränkt.

Um domänenübergreifende Probleme zu lösen, wurde die JSONP-Technologie entwickelt. Erfahren Sie mehr über die Anwendung von jsonP bei der Front-End-Datenerfassung.

1. JSONP-Prinzip

JSONP (JSON mit Auffüllung) ist eine domänenübergreifende Datenübertragungsmethode, die domänenübergreifende Datenanfragen durchführt und JSON-Daten durch dynamisches Hinzufügen von Skript-Tags erhält. Das Prinzip der Verwendung von JSONP im Front-End lautet wie folgt:

Zunächst initiiert das Front-End eine JSONP-Anfrage an den Server, und die Anfrageadresse ist eine domänenübergreifende Adresse. Die URL der JSONP-Anfrage muss einen Callback-Parameter enthalten. Das Backend generiert die Antwort-JSON-Daten und gibt sie in Form eines Funktionsaufrufs an das Frontend zurück.

Der spezifische Prozess ist in der folgenden Abbildung dargestellt:

2. Der Server antwortet auf die JSONP-Anfrage

Das aktuelle Ende initiiert eine JSONP-Anfrage und der Server muss korrekt auf die Anfrage antworten. Für JSONP-Anfragen muss der Server eine JavaScript-Funktion mit einem angegebenen Namen zurückgeben und die vom Server generierten JSON-Daten aufrufen, wenn die Funktion aufgerufen wird. Das Folgende ist ein Beispiel für eine JSONP-Antwort:

Zusammenfassend muss der Server die folgenden Punkte implementieren:

  1. Empfangen Sie die Front-End-Anfrage und generieren Sie JSON-Daten basierend auf dem Rückrufparameter.
  2. Übergeben Sie die JSON-Daten als ein Parameter für die JavaScript-Funktion mit dem angegebenen Namen;
  3. Schreiben Sie die gesamte Antwort in den HTTP-Antworttext.

3. Front-End-Verarbeitung der JSONP-Antwort

Wenn der Server korrekt auf die JSONP-Anfrage antwortet, muss das Front-End die Antwortdaten korrekt verarbeiten. Was das Frontend tun muss, ist wie folgt:

  1. Erstellen Sie eine Funktion mit demselben Namen basierend auf dem durch den Rückrufparameter angegebenen Funktionsnamen.
  2. Rufen Sie die JSON-Antwortdaten ab und übergeben Sie die JSON-Daten als Parameter an den vorherigen erstellte Funktion mit demselben Namen.

Das Folgende ist ein Beispiel für die JSONP-Verarbeitung:

Abschließend müssen wir noch etwas beachten: Wenn eine JSONP-Anfrage gestellt wird, werden die Antwortdaten in Form von JavaScript zurückgegeben, wenn die zurückgegebenen Daten JavaScript-Anweisungen enthalten , dann ist eine Escape-Verarbeitung erforderlich, andernfalls wirkt sich dies auf die Ausführung des Front-End-Codes aus. Zu den gängigen Escape-Funktionen gehören die Funktion $.parseJSON() von jQuery und die Funktion JSON.parse() von JavaScript.

Fortsetzung folgt...

Das obige ist der detaillierte Inhalt vonPHP JSONP konvertiert JSON-Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn