suchen
HeimWeb-Frontendjs-TutorialEine kurze Diskussion über den Unterschied zwischen JSON und JSONP und die Verwendung von jQuerys Ajax jsonp_jquery

JSON und JSONP

JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat, das zum Austausch von Informationen zwischen Browsern und Servern verwendet wird.

JSONP (JSON With Padding) ist JSON (oder verpacktes JSON), verpackt in einem Funktionsaufruf.

JSON ist ein Datenformat und JSONP ist eine Datenaufrufmethode.

Code kopieren Der Code lautet wie folgt:

//JSON
{
„Name“: „jd“
}

Code kopieren Der Code lautet wie folgt:

//JSONP
Rückruf({
„Name“: „jd“
})

Aus Sicherheitsgründen können Skripte (AJAX) nicht auf Inhalte außerhalb dieser Domain zugreifen. Statische Ressourcen sind jedoch nicht durch Domänenrichtlinien eingeschränkt und können Skripte, Stile, Bilder und andere statische Ressourcen aus jeder Domäne laden. JSOP nutzt dieses Prinzip, um eine domänenübergreifende Datenerfassung zu erreichen.

Beispiel 1:

Code kopieren Der Code lautet wie folgt:

//ShoPrice-Funktion definieren
Funktion showPrice(data) {
Alert("Symbol: " data.symbol ", Preis: " data.price);
}

Code kopieren Der Code lautet wie folgt:

//ShowPrice-Funktion und Parameter in die Webseite einbinden


Dieses Beispiel zeigt, wie eine JavaScript-Funktion mit statischen JSON-Daten als Parameter aufgerufen wird.

Beispiel 2:

Der erste Funktionsaufruf kann in eine js-Datei geschrieben und auf dem Server abgelegt, mit einem Skript-Tag in die Seite geladen werden, und dieses Tag kann dynamisch erstellt werden.

Code kopieren Der Code lautet wie folgt:


Der Inhalt von remote.js ist derselbe wie das, was zuvor im Tag geschrieben wurde:

1 showPrice({symbol: 'IBM', Preis: 91,42});

Der dynamisch eingefügte JavaScript-Code übernimmt die zu übergebenden JSON-Daten als Parameter und den Parameter der showPrice-Funktionsaufrufanweisung.

Die Frage ist also: Sollte die Funktion showPrice jedes Mal aufgerufen werden, wenn die Daten abgerufen werden? Dies erfordert eine Vereinbarung zwischen Front-End- und Back-End-Programmierern. Dies führt natürlich zu großen Unannehmlichkeiten, insbesondere wenn die Schnittstelle für die öffentliche Entwicklung geöffnet ist. JSOP wird auf diese Weise verarbeitet: Das Front-End unterstützt die Übergabe eines Callback-Funktionsnamensparameters, das Back-End empfängt den Callback-Funktionsnamensparameter, generiert dann einen Aufruf an die Funktion, übergibt die JSON-Daten als Parameter und fügt sie ein in die Seite ein, wenn es den Client erreicht, um die Ausführung zu starten.

Beispiel 3:

Code mit Rückrufparametern dynamisch einfügen:

Code kopieren Der Code lautet wie folgt:


Codeausschnitt des in PHP im Backend implementierten JSONP-Dienstes:

Code kopieren Der Code lautet wie folgt:

$jsonData = getDataAsJson($_GET['symbol']);
echo $_GET['callback'] . '(' . $jsonData . ');';
// Drucken: showPrice({"symbol" : "IBM", "price" : "91.42"});

Es passt gut zur Definition von JSONP und packt JSON-Daten in Funktionsaufrufe.

Die obigen Beispiele stammen von:

Verwendung von JSONP für die domänenübergreifende Kommunikation, Teil 1: Erstellen Sie schnell leistungsstarke Mashups mit JSONP und jQuery

JSONP mit jQuery verwenden

Die Aufrufmethoden von AJAX und JSONP in jQuery sehen sehr ähnlich aus. Lassen Sie sich von diesem Phänomen nicht verwirren. AJAX erhält Nicht-Seiteninhalte über das XMLHttpRequest-Objekt, während JSONP dynamisch <script>-Tags hinzufügt, um Serverskripte aufzurufen. Obwohl jQuery JSONP als eine Form von AJAX kapselt, ist JSONP keine Form oder ein Sonderfall von AJAX. <br /> <br /> <div class="codetitle"><span><a style="CURSOR: pointer" data="8779" class="copybut" id="copybut8779" onclick="doCopy('code8779')"><U>Code kopieren Der Code lautet wie folgt:<div class="codebody" id="code8779"><br /> $.ajax({<br /> URL: „<a href="http://query.yahooapis.com/v1/public/yql">http://query.yahooapis.com/v1/public/yql“,<br /> jsonpCallback: „showPrice“,<br /> ​ jsonp: „callback“,<br /> // Sag jQuery, dass wir JSONP erwarten<br /> Datentyp: „jsonp“,<br /> Daten: {<br /> ​​​​ q: „Titel, Zusammenfassung, URL aus search.news auswählen, wobei query="cat" ist“,<br /> Format: „json“<br /> },<br /> // mit der Antwort arbeiten<br /> Erfolg: Funktion(Daten) {<br />             console.log( data ); // Serverantwort<br /> }<br /> });<br /> <p>Ajax-Anfrageparameterbeschreibung: <p><strong>dataType String <p>Der Datentyp, der voraussichtlich vom Server zurückgegeben wird. Wenn nicht angegeben, trifft jQuery automatisch intelligente Entscheidungen basierend auf den MIME-Informationen des HTTP-Pakets. Beispielsweise wird der XML-MIME-Typ als XML erkannt. In 1.4 generiert JSON ein JavaScript-Objekt und das Skript führt das Skript aus. Die vom Server zurückgegebenen Daten werden dann basierend auf diesem Wert analysiert und an die Rückruffunktion übergeben. Verfügbare Werte: <p>"xml": Gibt ein XML-Dokument zurück, das mit jQuery verarbeitet werden kann. <p>„html“: Gibt reine Text-HTML-Informationen zurück; das enthaltene Skript-Tag wird ausgeführt, wenn es in den Dom eingefügt wird. <p>"script": Gibt Nur-Text-JavaScript-Code zurück. Ergebnisse werden nicht automatisch zwischengespeichert. Es sei denn, der Parameter „Cache“ ist gesetzt. '''Hinweis:''''Bei Remote-Anfragen (nicht unter derselben Domäne) werden alle POST-Anfragen in GET-Anfragen umgewandelt. (Da zum Laden das DOM-Skript-Tag verwendet wird) <p>"json": Gibt JSON-Daten zurück. <p>"jsonp": JSONP-Format. Beim Aufrufen einer Funktion im JSONP-Format, z. B. „myurl?callback=?“, ersetzt jQuery automatisch ? durch den richtigen Funktionsnamen, um die Callback-Funktion auszuführen. <p>"text": Gibt eine einfache Textzeichenfolge zurück<br /> <br /> <strong>jsonp, <br /> <br /> Schreiben Sie den Namen der Rückruffunktion in der JSONP-Anfrage neu. Der Wert wird verwendet, um den „Callback“-Teil in den URL-Parametern von GET- oder POST-Anfragen zu ersetzen, z. B. „callback=?“. Beispielsweise führt {jsonp:'onJsonPLoad'} dazu, dass „onJsonPLoad“ an den Server übergeben wird. <br /> <br /> <strong>jsonpCallback, <br /> <br /> Geben Sie einen Callback-Funktionsnamen für JSONP an. Dieser Wert wird anstelle des von jQuery automatisch generierten zufälligen Funktionsnamens verwendet. Dies wird hauptsächlich verwendet, um jQuery die Generierung eindeutiger Funktionsnamen zu ermöglichen, um die Verwaltung von Anforderungen sowie die Bereitstellung von Rückruffunktionen und Fehlerbehandlung zu erleichtern. Sie können diesen Rückruffunktionsnamen auch angeben, wenn der Browser GET-Anfragen zwischenspeichern soll. Bei der tatsächlichen Verwendung besteht jedoch keine Notwendigkeit, eine Rückruffunktion zu schreiben, wie z. B. showPrice in diesem Beispiel, und es wird kein Fehler gemeldet, wenn Sie sie nicht schreiben, da jQuery bei der Verarbeitung von JSONP und Takes automatisch eine Rückruffunktion für Sie generiert Geben Sie die Daten aus, um die Erfolgsmethode aufzurufen. Es könnte so aussehen: <p><div class="codetitle"><span><a style="CURSOR: pointer" data="75667" class="copybut" id="copybut75667" onclick="doCopy('code75667')"><U>Code kopieren Der Code lautet wie folgt:<div class="codebody" id="code75667"><br /> function success_jsonpCallback(data) { success(data); } <br /> <p>Das Obige ist der gesamte Inhalt dieses Artikels. Haben Sie ein detailliertes Verständnis von JSONP? Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und wir können es gemeinsam besprechen. </script>
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
Python gegen JavaScript: Eine vergleichende Analyse für EntwicklerPython gegen JavaScript: Eine vergleichende Analyse für EntwicklerMay 09, 2025 am 12:22 AM

Der Hauptunterschied zwischen Python und JavaScript sind die Typ -System- und Anwendungsszenarien. 1. Python verwendet dynamische Typen, die für wissenschaftliche Computer- und Datenanalysen geeignet sind. 2. JavaScript nimmt schwache Typen an und wird in Front-End- und Full-Stack-Entwicklung weit verbreitet. Die beiden haben ihre eigenen Vorteile bei der asynchronen Programmierung und Leistungsoptimierung und sollten bei der Auswahl gemäß den Projektanforderungen entschieden werden.

Python vs. JavaScript: Auswählen des richtigen Tools für den JobPython vs. JavaScript: Auswählen des richtigen Tools für den JobMay 08, 2025 am 12:10 AM

Ob die Auswahl von Python oder JavaScript vom Projekttyp abhängt: 1) Wählen Sie Python für Datenwissenschafts- und Automatisierungsaufgaben aus; 2) Wählen Sie JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung. Python ist für seine leistungsstarke Bibliothek in der Datenverarbeitung und -automatisierung bevorzugt, während JavaScript für seine Vorteile in Bezug auf Webinteraktion und Full-Stack-Entwicklung unverzichtbar ist.

Python und JavaScript: Verständnis der Stärken der einzelnenPython und JavaScript: Verständnis der Stärken der einzelnenMay 06, 2025 am 12:15 AM

Python und JavaScript haben jeweils ihre eigenen Vorteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1. Python ist leicht zu erlernen, mit prägnanter Syntax, die für Datenwissenschaft und Back-End-Entwicklung geeignet ist, aber eine langsame Ausführungsgeschwindigkeit hat. 2. JavaScript ist überall in der Front-End-Entwicklung und verfügt über starke asynchrone Programmierfunktionen. Node.js macht es für die Entwicklung der Vollstapel geeignet, die Syntax kann jedoch komplex und fehleranfällig sein.

JavaScripts Kern: Ist es auf C oder C aufgebaut?JavaScripts Kern: Ist es auf C oder C aufgebaut?May 05, 2025 am 12:07 AM

JavaScriptisnotbuiltoncorc; Es ist angehört, dass sich JavaScriptWasdedeSthatrunsonGineoFtencninc.

JavaScript-Anwendungen: Von Front-End bis Back-EndJavaScript-Anwendungen: Von Front-End bis Back-EndMay 04, 2025 am 12:12 AM

JavaScript kann für die Entwicklung von Front-End- und Back-End-Entwicklung verwendet werden. Das Front-End verbessert die Benutzererfahrung durch DOM-Operationen, und die Back-End-Serveraufgaben über node.js. 1. Beispiel für Front-End: Ändern Sie den Inhalt des Webseitentextes. 2. Backend Beispiel: Erstellen Sie einen Node.js -Server.

Python vs. JavaScript: Welche Sprache sollten Sie lernen?Python vs. JavaScript: Welche Sprache sollten Sie lernen?May 03, 2025 am 12:10 AM

Die Auswahl von Python oder JavaScript sollte auf Karriereentwicklung, Lernkurve und Ökosystem beruhen: 1) Karriereentwicklung: Python ist für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet, während JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung geeignet ist. 2) Lernkurve: Die Python -Syntax ist prägnant und für Anfänger geeignet; Die JavaScript -Syntax ist flexibel. 3) Ökosystem: Python hat reichhaltige wissenschaftliche Computerbibliotheken und JavaScript hat ein leistungsstarkes Front-End-Framework.

JavaScript -Frameworks: Stromversorgung moderner WebentwicklungJavaScript -Frameworks: Stromversorgung moderner WebentwicklungMay 02, 2025 am 12:04 AM

Die Kraft des JavaScript -Frameworks liegt in der Vereinfachung der Entwicklung, der Verbesserung der Benutzererfahrung und der Anwendungsleistung. Betrachten Sie bei der Auswahl eines Frameworks: 1. Projektgröße und Komplexität, 2. Teamerfahrung, 3. Ökosystem und Community -Unterstützung.

Die Beziehung zwischen JavaScript, C und BrowsernDie Beziehung zwischen JavaScript, C und BrowsernMay 01, 2025 am 12:06 AM

Einführung Ich weiß, dass Sie es vielleicht seltsam finden. Was genau muss JavaScript, C und Browser tun? Sie scheinen nicht miteinander verbunden zu sein, aber tatsächlich spielen sie eine sehr wichtige Rolle in der modernen Webentwicklung. Heute werden wir die enge Verbindung zwischen diesen drei diskutieren. In diesem Artikel erfahren Sie, wie JavaScript im Browser ausgeführt wird, die Rolle von C in der Browser -Engine und wie sie zusammenarbeiten, um das Rendern und die Interaktion von Webseiten voranzutreiben. Wir alle kennen die Beziehung zwischen JavaScript und Browser. JavaScript ist die Kernsprache der Front-End-Entwicklung. Es läuft direkt im Browser und macht Webseiten lebhaft und interessant. Haben Sie sich jemals gefragt, warum Javascr

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft