Easy Coding
  Forum Wiki Tagging Projekte Karte RSS
» Start
» All Recent Changes
» Wiki Suche
» Wiki Hilfe

Coder How To's

Algorithmen Informationen

edit SideBar

Neue Wiki Eintrage finden Sie unter easy-coding.de/wiki.

JSON und AJAX

JSON ist ein kompaktes Computer-Format zum Zweck des Datenaustauschs zwischen verschiedenen Anwendungen und Programmiersprachen.

Ich nutze es vor allem wegen seiner Kompaktheit und der dadurch gesteigerten Geschwindigkeit.

Am Beispiel werde ich ganz grob den Datenaustausch zwischen PHP Klassen und JavaScript erläutern. Um das Beispiel zu verstehen sind Grundkenntnisse im Umgang mit PHP5 und Klassen erforderlich.

Leider hatte ich noch keine Zeit, das HowTo zu testen. Bitte meldet euch bei Problem im Forum.

Info: JSON? ist nicht an die PHP Version 5 gebunden. Falls das Modul JSON bei eurem Hoster nicht installiert ist, könnt ihr alternativ die PECL Klasse verwenden.

json.php
  1. <?php
  2. class Austausch {
  3.  public $id, $arr;
  4.  
  5.  public function Austausch($id) {
  6.    $this->id = $id;
  7.    $this->arr = array();
  8.  }
  9.  
  10.  public function add($item) {
  11.   $arr[] = $item;
  12.  }
  13.  
  14.  public function __toString() {
  15.   return json_encode($this);
  16.  }
  17. }
  18.  
  19. $Ob = new Austausch(5);
  20. $Ob->add('peter');
  21. $Ob->add('ist');
  22. $Ob->add('toll');
  23. echo $Ob;
  24. ?>
index.html
  1. <title>AJAX und JSON/title>
  2. <script type="text/javascript">
  3. <!--
  4. try {
  5.         req = window.XMLHttpRequest?new XMLHttpRequest():
  6.         new ActiveXObject("Microsoft.XMLHTTP");
  7. } catch (e) {
  8.         //Kein AJAX Support
  9. }
  10.  
  11. function ajax() {       
  12.         req.onreadystatechange = function() {
  13.                 if ((req.readyState == 4) && (req.status == 200)) {
  14.                         var JSON = eval("(" + req.responseText + ")");
  15.                         var text = "Es wurde der Datensatz mit der ID "+JSON.id+" geladen. Folgende Daten sind enthalten: ";
  16.  
  17.                         for(var i=0; i<JSON.arr.length; i++) {
  18.                                 text += "<br />* "+JSON.arr[i];
  19.                         }
  20.  
  21.                         document.getElementById('j').innerHTML = text;
  22.                 }
  23.         }
  24.         req.open('GET', 'json.php');
  25.         req.send(null);
  26. }
  27. //-->
  28. </script>
  29. </head>
  30. <body onload="ajax()">
  31.  
  32. <div id="j">Loading...</div>
  33.  
  34. </body>
  35. </html>
Zuletzt geändert am 14.12.2006 09:14 Uhr
  Impressum