Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung der Verwendung von JSON und JSONP

Zusammenfassung der Verwendung von JSON und JSONP

php中世界最好的语言
php中世界最好的语言Original
2018-04-24 17:21:301262Durchsuche

Dieses Mal werde ich Ihnen eine Zusammenfassung der Vorsichtsmaßnahmen bei der Verwendung von JSON und JSONP geben. Das Folgende ist ein praktischer Fall, schauen wir uns das an.

json

1. Der Wert von json kann von den folgenden Typen sein:

① Zahl (Ganzzahl oder Gleitkomma). Punktnummer), wie 123, 1,23

String (in doppelten Anführungszeichen)

③ Logischer Wert (wahr oder falsch)

④ Array (in eckigen Klammern)

⑤ Objekt (in geschweiften Klammern)

⑥ null

2. JSON-Analysemethode

① eval('(' + jsondata + ')' ); Die Verwendung von Code-Injection ist immer unsicher

② JSON.parse(jsondata);

JSONLint json: String-Verifizierungstools

3. jQuery implementiert Ajax

jQuery.ajax([settings])

type: type

url: send The request Adresse

Daten: ist ein Objekt, zusammen mit den Daten, die von der Anfrage an den Server gesendet werden.

Datentyp: der

Datentyp , der voraussichtlich vom Server zurückgegeben wird, wenn nicht angegeben, jQuery wird automatisch eine intelligente Beurteilung basierend auf den MIME-Informationen des HTTP-Pakets vornehmen. Im Allgemeinen verwenden wir das JSON-Format, das auf „json“ eingestellt werden kann.

Erfolg: Es ist eine Methode Wenn die Anfrage erfolgreich ist, wird die

Rückruffunktion übergeben und zurückgegeben. Die folgenden Daten und die Zeichenfolge mit dem Erfolgscode

error: sind eine Methode. Diese Funktion wird aufgerufen, wenn die Anfrage fehlschlägt . Übergeben Sie das XMLHttpRequest-Objekt

jsonp

Domänenübergreifend

Die Zusammensetzung einer Domäne Name Adresse:

http://www .abc.com:8080/scripts/jquery.js

Protokoll://Subdomainname: Portnummer/angeforderte Ressourcenadresse

Wenn eines der folgenden Protokolle, Subdomänennamen, Hauptdomänennamen und Portnummern ausfällt, wird es als eine andere Domäne gezählt

Verschiedene Domänen, die voneinander Ressourcen anfordern, werden als „übergreifend“ gezählt. domain"

javascript Aus Sicherheitsgründen sind domänenübergreifende Aufrufe von Objekten auf anderen Seiten nicht erlaubt.

Was ist domänenübergreifend? Die einfache Erklärung ist, dass js unter dem Domänennamen a.com aufgrund der Einschränkungen der JavaScript-Same-Origin-Richtlinie keine Objekte unter dem Domänennamen b.com oder c.a.com bedienen kann

Domänenübergreifende Verarbeitung Methode:

- Proxy (gehört zur Hintergrundtechnologie), ruft beispielsweise den Shanghai-Serverdienst im Hintergrund des Webservers in Peking auf und gibt das Antwortergebnis dann an das Front-End zurück Das Front-End ruft den Server mit demselben Domänennamen in Peking und Shanghai auf. Der Serviceeffekt ist der gleiche.

—— JSONP

ein zu deklarierender Domänenname, ein aufzurufender b-Domänenname

Hinweis: JSONP kann nur für GET-Anfragen verwendet werden und unterstützt

nicht POST-Anfragen (Einschränkungen)

-— unterstützt

Nehmen Sie einfach ein paar kleine Änderungen auf der Serverseite vor:

header("Access-Control-Allow-Origin:"); bedeutet, dass alle Server darauf zugreifen können, oder es kann ersetzt werden mit einem bestimmten Domänennamen, zum Beispiel: Der Server befindet sich in Shanghai, * wird durch den Domänennamen des Peking-Servers ersetzt, sodass nur auf den Peking-Domänennamen zugegriffen werden kann

header("Access-Control- Allow-Methods:POST,GET");

Lassen Sie uns über die Vor- und Nachteile von JSONP sprechen.

Same-Origin-Richtlinie: JavaScript kann nur auf Inhalte in derselben Domäne zugreifen wie das Dokument, das sie enthält. JSONP kann dieselbe Ursprungsrichtlinie umfassen. Wenn wir JSONP verwenden, handelt es sich um ein anderes Protokoll für die Kommunikation.

Der Vorteil von JSONP besteht darin, dass es nicht durch dieselbe Ursprungsrichtlinie eingeschränkt ist wie die vom XMLHttpRequest-Objekt implementierte Ajax-Anfrage. Es verfügt über eine bessere Kompatibilität und kann in älteren Browsern ohne die Unterstützung von XMLHttpRequest oder ActiveX ausgeführt werden Ist der Vorgang abgeschlossen, kann das Ergebnis durch einen Callback-Aufruf zurückgegeben werden.

Die Nachteile von JSONP sind: Es unterstützt nur GET-Anfragen, aber keine anderen Arten von HTTP-Anfragen wie POST; es unterstützt nur domänenübergreifende HTTP-Anfragen und kann das Problem der Interaktion zweier Seiten in unterschiedlichen Domänen nicht lösen einander. Probleme beim Ausführen von JavaScript-Aufrufen.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Anpassung der Ajax-Ausführungsreihenfolge in jquery

Detaillierte Erläuterung der Ajax- und $.ajax-Beispiele

So erstellen Sie eine Ajax-Anfrage für die Überwachungsseite mit jQuery

Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung von JSON und JSONP. 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