Ajax Schnittstelle (Adminbereich)

wb_incandescent
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:

<script><script type="text/javascript" src="{$local_dir}pub/dojo/dojo/dojo.js" djConfig="parseOnLoad:true, isDebug:true"></script> <script type="text/javascript"> dojo.xhrPost({    url: "{/literal}{$ajax_url}{literal}",    handleAs: "json",   headers: {"Content-Type": "application/json"},</span>    timeout: 1000,    postData: dojo.toJson({// schreiben          'call_file': 'live/check_liveserver.php',          'call_function': 'check_liveserver',           'params': {'AA' : 'BB'}       }),        load: function(responseObject, ioArgs){       alert (responseObject); // lesen       return responseObject;    },        error: function(response, ioArgs){        alert ('error');       return response;    }     }); </script>

 Beispiel auf PHP-Seite:

<?php function check_liveserver($params) {     return array('neu' => $params['AA'] . 'xxxxx'); } ?>

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