Esempio Online Anteprima
Descrizione: Simulazione errore transazione AJAX
Sorgente PHP: examples/debug/xml_error.php
Sorgente XML: examples/debug/xml_error.xml
Sono errori durante il parsing di codice formato XML ricevuto in risposta ad una precedente richiesta AJAX. Spesso questi errori pur essendo generati lato client sono conseguenza di una eccezione generata durante l'esecuzione della richiesta, la quale ha in qualche modo "corrotto" il corretto formato di Output XML che ci si aspettava di ricevere. Gli errori XML sono intercettati da JAMP per mezzo della classe clsSystemEvent(js/system.event.js). Il comportamento di default รจ quello di limitarsi a visualizzare il messaggio di errore. Nella Versione Online un esempio di errore XML generato da una richiesta AJAX errata per eseguire una query con sintassi errata
<?php
/**
* PHP Source File
* @author Alyx Association <info@alyx.it>
* @version 1.0
* @copyright Alyx Association 2008-2010
* @license GNU Public License
*/
require_once("./../../class/system.class.php");
$system = new ClsSystem(true);
$xml = new ClsXML("xml_error.xml");
$event = new ClsEvent($xml);
$event->managerRequest();
function html_load()
{
global $event;
$code = "
function xml_error(message)
{
alert(message);
return false;
}
SYSTEMEVENT.addBeforeCustomFunction('SYSTEMEVENT','errorXML', 'xml_error');";
$event->setCodeJs($code);
}
?>
<?xml version="1.0" encoding="utf-8"?>
<jamp>
<page typeobj="page" title="JAMP - Esempio per la gestione degli errori di transazione" icon="../../favicon.ico" loaddata="true">
<ds1 typeobj="ds" conn="conn6" dstable="TABLE-NOT-EXIST" dskey="ID" dslimit="10" />
<dsnav1 typeobj="dsnav" dsobj="ds1" btNew="false" />
<gridds1 typeobj="gridds" dsobj="ds1" width="autosize" height="autosize">
<coloumn>
<col objtype="label" itemlabel="COMUNE" dsitem="DENOMINAZIONE_COMUNE" minlength="1" maxlength="255" keypressed="number" colwidth="200" />
<col objtype="text" itemlabel="CAB" dsitem="CAB" order="false" minlength="5" maxlength="5" colwidth="200" />
</coloumn>
</gridds1>
</page>
</jamp>