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:<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",
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>
<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",
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:
QuelltextPHP Code:<?php
function check_liveserver($params)
{
return array('neu' =>
$params['AA'] .
'xxxxx');
}
?>
<?php
function check_liveserver($params)
{
return array('neu' => $params['AA'] . 'xxxxx');
}
?>
In diesem Beispiel müsste das empfangene responseObject so aussehen: {'neu': 'BBxxxxx'}
Tel: +49 (0)6261 / 6743-0 Fax: +49 (0)6261 / 6743-29
E-Mail: info@egotec.com
|
EGOTEC GmbH Hauptstraße 130
D-74821 Mosbach
|
|
Erstellt mit EGOTEC® Internet: www.egotec.com © EGOTEC GmbH
|