Unterschied zwischen json und ajax? Wann sollte was verwendet werden?

7

Hallo, ich bin völlig verwirrt zwischen Json und Ajax. Wann würde was benutzt werden. Ich arbeite mit PHP auf der Serverseite. Ich verwende regelmäßig Ajax, um Daten asynchron zu empfangen, ohne eine Seitenladung aufzurufen. Ich benutze PHP json Funktionen, um Daten an Javascript zu übergeben. Aber ich habe gerade begonnen, jQuery zu lernen, und ich bin völlig verwirrt, wenn ich Funktion AJAX und wann JSON verwenden soll. Kann mir jemand damit helfen, danke.

    
taktak 30.09.2010, 23:52
quelle

8 Antworten

15

Ich nehme an, Sie beziehen sich auf die Methode jQuery .getJSON() .

Diese Methode ist nur eine Kurzform der Verwendung der Methode jQuery .ajax() mit JSON-Daten. .getJSON() entspricht:

%Vor%

Sie können also .getJSON() verwenden, wenn Sie diese abrufen möchten JSON-Daten vom Server. Die Daten werden automatisch mit der Methode jQuery.parseJSON() analysiert.

Allgemein gesagt ist AJAX eine Möglichkeit, Informationen asynchron von einem Server abzurufen. JSON ist eine Möglichkeit, Daten zu formatieren .... aber ich nehme an, Sie wussten das bereits, und Sie waren es auch Ich frage speziell nach den beiden jQuery-Methoden, die ich erwähnt habe.

    
Peter Ajtai 01.10.2010, 00:02
quelle
15

JSON ( J ava S kript O bject N Bezeichnung) und AJAX ( A <) / strong> synchrone J avaScript a nd X ML) sind zwei völlig unterschiedliche Konzepte, eines wird als Speichermedium für Daten verwendet (JSON) während der andere zum Abrufen von Daten von einem HTTP- oder FTP-Webserver (AJAX) verwendet wird, der nicht vom Format der zu übertragenden Daten abhängig ist, kann es Text, Binär, XML oder JSON sein, was eigentlich alles ist / p>

Sie können AJAX mit JSON verwenden, indem Sie einige Daten im JSON-Format vom Webserver mit AJAX abrufen und dann mithilfe von JavaScript die JSON-Daten in einem Formular analysieren, auf das die Scripting-Engine zugreifen kann.

    
Randy the Dev 01.10.2010 00:00
quelle
6

JSON ist nur eine Sache: Es ist ein Format für den Datenaustausch. Wenn Sie Ihre Daten im JSON-Format codieren, können Sie sie einfach dekodieren . Angenommen, Sie möchten Ihre persönlichen Informationen verschlüsseln:

  

Mein Name ist Juan und ich bin 31 Jahre alt

Sie würden es im JSON-Format wie folgt codieren:

%Vor%

diese Zeichenfolge ist klein, leicht zu übertragen und leicht zu interpretieren; Es ist auch standardisiert, sodass jeder mit einem kompatiblen JSON-Decoder in der Lage ist, Ihre name und age aus dieser Zeichenfolge zu erhalten. JSON wird von vielen Webdiensten zum Datenaustausch verwendet.

Nun ist AJAX keine Sprache oder ein Produkt oder eine Software oder eine Spezifikation oder ein Standard. AJAX ist einfach ein Weg Dinge zu tun . Es gibt keine Definition von AJAX. Stattdessen ist AJAX eine Sammlung von Techniken, bei denen eine bestimmte Ansicht einer Internet-Ressource (z. B. einer bestimmten Webseite) asynchron mit dem Server interagieren kann. Zum Beispiel gebe ich diese Nachricht in ein Textfeld ein und dann drücke ich POST YOUR ANSWER . Der Server erhält diesen Text und legt ihn auf der Seite ab, aber er lädt die Seite nicht neu (nur der relevante Teil, wo er meine Antwort tatsächlich ablegt).

AJAX ist wichtig, weil es ein Aussehen und Verhalten ähnlich einer Desktop-Anwendung bietet (es wäre komisch, wenn jedes Mal, wenn Sie auf etwas in Ihrer Desktop-Anwendung klicken, die Anwendung schließen und dann wieder öffnen würde, richtig?)

AJAX steht für Asynchrones Javascript und XML , weil diese beiden Dinge verwendet werden, aber dies kann sich ändern, wenn andere clientseitige Skriptsprachen entwickelt werden.

Also, JSON ist eine gut spezifizierte Sache (ein Datenformat) und AJAX ist es nicht (es ist ein Weg Dinge zu tun, aber es gibt keine klare Definition). Sie sind nicht verwandt, aber beide sind weit verbreitet in Internet-Diensten, so sehen Sie ihren Namen sehr oft auftauchen.

    
Escualo 01.10.2010 00:37
quelle
3

AJAX ist die Zugriffsmethode, die einer einfachen Webanfrage ähnlich ist. AJAX ist jedoch asynchron.

JSON ist die Kodierung der vom Zugriff zurückgegebenen Daten ... Es ist auf der gleichen Ebene von HTML oder XML.

Eine AJAX-Anfrage könnte eine Formatierung von Daten zurückgeben, und JSON oder HTML könnten je nach vorliegender Aufgabe das richtige Datenformat sein.

Zum Beispiel könnte Ihre Anwendung einen ganz neuen HTML-Abschnitt anfordern und ihn verwenden, um etwas zu ersetzen, das bereits auf Ihrer Seite existiert. jQuery.load() dafür. Vielleicht benötigt Ihre Anwendung einfach Daten vom Server, Sie können dafür jQuery.getJSON() verwenden und Ihre Daten in JSON codieren. Das Schöne an JSON ist das Parsen, es braucht praktisch keine Mühe, vor allem mit Hilfe von jQuery.

    
KFro 01.10.2010 00:09
quelle
2

Ajax ist ein Konzept der Verwendung von JavaScript für asynchrone Aufrufe, um Daten zwischen dem Client und dem Server hin und her zu übertragen. Es definiert nicht, welche Daten übertragen und wie codiert wird.

Hier kommt JSON, JSON ist ein Werkzeug, das zum Beschreiben von Werten und Objekten verwendet wird, indem der Inhalt auf eine sehr spezifische Art und Weise codiert wird.

    
Amirshk 30.09.2010 23:59
quelle
2

Sie können sich AJAX (asynchrones JavaScript und XML) als sehr schnellen Postdienst vorstellen (das ist ein kleiner Schritt, AJAX soll auf Abruf verfügbar sein, trage aber mit mir). Es sendet Informationen, weiß aber nicht genau, was genau es sendet.

Sie können sich JSON (JavaScript Object Notation) als Buchstaben vorstellen. Es enthält vom Benutzer bereitgestellte und definierte Informationen in einem gemeinsamen Format, das die Server- und Clientsprachen verstehen können (normalerweise der Server in ASP , PHP , Perl oder Ruby , der Clientbrowser in JavaScript ). .

Wie bei Paketen, die verschickt werden, ist der Brief jedoch nicht die einzige Art von Dingen, die gesendet werden können. Boxen, Tuben und andere Formate können im Porto verwendet werden. Dies ist eine Zuordnung von JSON zu einem von vielen Informationsformaten. XML , HTML , Plain Text , Binary (Images Etc) , und jedes proprietäre Format, das Ihnen einfällt, könnte von AJAX an den Server und zurück gesendet werden.

Diese plumpen Metaphern beschreiben den Zweck eines jeden. Für technische Details sollten Sie Implementierungen untersuchen. MooTools hat einen Wrapper, der die einfache Verwendung von AJAX Nachrichtenweitergabe ermöglicht, die meisten anderen JavaScript -Frameworks auch. JQuery ist ein anderes (beliebteres) Framework, das auch ähnliche Funktionen bereitstellt.

JSON selbst ist insofern nützlich, als es sich direkt auf die Objektnotation von JavaScript bezieht, so dass es besonders praktisch ist, Informationen darin zu speichern und weiterzuleiten. Andere Sprachen haben Parser zum Extrahieren und Erstellen von Daten in diesem Format.

>     
M2tM 01.10.2010 00:17
quelle
1

JSON: JavaScript Object Notation und es ist:

  • Eine Syntax zum Speichern und Austauschen von Daten.
  • Text, geschrieben mit JavaScript-Objektnotation.

AJAX ist asynchrones JavaScript und XML, ist keine Programmiersprache und Sie können:

  • Aktualisieren Sie eine Webseite, ohne die Seite neu zu laden;
  • Daten von einem Server anfordern - nachdem die Seite geladen wurde;
  • Empfangen von Daten von einem Server - nachdem die Seite geladen wurde;
  • Senden Sie Daten an einen Server - im Hintergrund.

Mit einer Kombination können Sie eine AJAX-Anfrage an den Server senden und im JSON-Format zurückgeben.

    
quelle
0

AJAX wird verwendet, um Daten von einem Server abzurufen, der in JSON, xML oder anderen Formaten vorliegen kann.

    
coder_tim 01.10.2010 00:07
quelle

Tags und Links