info@a-coding-project.de

Ajax: Sajax

Auch wenn sich der Name Sajax sehr nach dem im vorherigen Kapitel beschriebenen Framework Xajax anhärt, haben beide jedoch wenig miteinander zu tun, sieht man mal davon ab, dass Sie beide Ajax-Frameworks sind. Der Unterschied bei Sajax: Für Sajax existieren Implementationen in quasi allen relevanten Programmiersprachen wie ASP, ColdFusion, Perl oder Python - und selbst an PHP wurde gedacht.

Download und Installation

Die jeweils aktuelle Version von Sajax ist unter folgender URL zu finden:

http://www.modernmethod.com/sajax/

Ebenso wie Xajax ist auch Sajax OpenSource und kann damit kostenlos innerhalb bestimmter Regelungen eingesetzt werden. Nach dem Download heißt es auch hier: Entpacken und ins Projektverzeichnis kopieren.

Ajax-Suche mit Sajax

Im Gegensatz zu Xajax, bei dem teilweise bis zu drei Dateien benötigt werden, kommt Sajax in der Regel mit einer einzigen Datei aus. Dies ist vor allem darin begründet, dass Sajax eine etwas eingeschränktere Funktionalität besitzt, dafür aber eben in allen relevanten Programmiersprachen verfügbar ist. Das obige Beispiel aus dem Xajax-Kapitel würde in Sajax wie folgt aussehen:

<?
 require("Sajax.php");

 function suche($q)
 {
  $s = '';
  //alle Kunden suchen die $q im Namen enthalten
  $res = mysql_query('SELECT * FROM kunden WHERE strName '.
                     'LIKE "'.addslashes($q).'%"');
  //gefundene Kunden speichern
  for($i=0;$i<mysql_num_rows($res);$i++)
  {
   if($i>0){$s .= "rn";}
   $s .= mysql_result($res,$i,'Name');
  }
  return $s;
 }

 sajax_init();
 sajax_export("suche");
 sajax_handle_client_request();

?>
<html>
 <head>
  <script>
  <? sajax_show_javascript(); ?>
  function suche_cb(a){document.suchform.treffer.value = a;}
  </script>
 </head>
 <body>
  <form name="suchform">
   Suche: <input type="text" name="qry" id="qry" value=""  
           onkeypress="x_suche(this.value,suche_cb);" /><br>
   Treffer: <textarea name="treffer" cols="20" 
             rows="12"></textarea>
  </form>
 </body>
</html>

Auch hier passiert in etwa wieder das gleiche wie bei Xajax: Sajax sorgt komplett selbst für den Datentransfer zwischen Client und Server und gibt die Daten jeweils an die Funktion weiter, die sie benötigt. In diesem Fall werden die Daten also bei Eintreten des Ereignisses an die automatisch von Sajax erstellte Funktion x_suche() übergeben, welche die Daten an den Server weiter gibt. Auf dem Server wird dann wiederum automatisch suche($q) mit entsprechenden Werten aufgerufen und die Suche durchgeführt. Anschließend wird das Resultat der Suche wieder automatisch von Sajax per Ajax an den Clienten übermittelt und an die JavaScript-Funktion suche_cb übergeben welche die Daten dann ausgibt. Auch hier ergibt sich damit wieder ein sehr sinnvoller und vollkommen vom Framework automatisierter Kreislauf auf den der Programmierer jederzeit zugreifen kann.

Weiterlesen: ⯈ Xajax

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant