Inhaltsverzeichnis Schnittstellen Ajax Schnittstelle (Adminbereich)

Ajax Schnittstelle (Adminbereich)

Diese Schnittstelle ist erst ab Version 5 verfügbar.

Im Adminbereich kann die Ajax Schnittstelle verwendet werden. Als Übertragungsformatierung wird JSON verwendet.

Die Schnittstelle ist in PHP in der Datei EGOTEC/bin/json/request.php implementiert. Man kann sehr leicht per  dojo darauf zugreifen. Es gibt eine reservierte Smarty-Variable $ajax_url, die die URL zur Schnittstelle mit Parametern wie site und lang, enthält.

Dem AJAX-Aufruf müssen zwei Parameter übergeben werden:

  • call_file
    Die Datei die aufgerufen werden soll (im lib-Pfad)
  • call_function
    Die Funktion die aufgerufen werden soll.

Mit dem Parameter params kann ein weiteres Objekt angegeben werden, das der call_function als assotiatives Array übergeben wird.

Beispiel auf HTML-Seite:

QuelltextJavaScript Code:
  1. <script type="text/javascript" src="{$local_dir}pub/dojo/dojo/dojo.js" djConfig="parseOnLoad:true, isDebug:true"></script>
  2. <script type="text/javascript">
  3. dojo.xhrPost({
  4.     url: "{/literal}{$ajax_url}{literal}",
  5.     handleAs: "json",
  6.     timeout: 1000,
  7.     postData: dojo.toJson({// schreiben
  8.             'call_file': 'live/check_liveserver.php',
  9.             'call_function': 'check_liveserver',
  10.            'params': {'AA' : 'BB'}
  11.         }),
  12.    
  13.     load: function(responseObject, ioArgs){
  14.         alert (responseObject); // lesen
  15.         return responseObject;
  16.     },
  17.    
  18.     error: function(response, ioArgs){
  19.         alert ('error');
  20.         return response;
  21.     }
  22.    
  23. });
  24. </script>

 Beispiel auf PHP-Seite:

QuelltextPHP Code:
  1. <?php
  2. function check_liveserver($params)
  3. {
  4.      return array('neu' => $params['AA'] . 'xxxxx');
  5. }
  6. ?>

In diesem Beispiel müsste das empfangene responseObject so aussehen: {'neu': 'BBxxxxx'}