Debug AJAX

Ciao, mi sto avvicinando ad AJAX e mi trovo molto bene con la classe SACK (Simple AJAX Code-Kit )

Più o meno sto riuscendo a fare quasi tutto, il problema che ho è capire dove stanno gli errori.

Sintetizzo il funzionamento e il problema.

In una pagina PHP tramite un onclick chiamo una funzione javascript che inizializza la classe ajax

<script language="JavaScript" style="text/javaScript">
var ajax   = new sack();
function attiva_ajax(id)
{
   if(id.length>0) {
      ajax.requestFile = 'ajax.php?id='+id;  // Specifying which file to get
      ajax.onCompletion = end;
      ajax.runAJAX();            // Execute AJAX function
   }
}
function end()
{
   eval(ajax.response);
}
</script>

La funzione richiama il file ajax.php al quale delego tutte le operazioni : modifiche DB oppure modifiche dell'HTML della pagina originale.

Il problema con cui mi scontro spessissimo sono errori all'interno di ajax.php che siano di sintassi o altro non vengono comunicati e la classe ajax termina le sue operazioni senza comunicare quegli errori.

Funzioni come alert o echo all'interno di quello script non si eseguono, ecomunque la sua esecuzione mi è parsa non lineare, se ad esempio faccio eseguire un document.getElementById('ord').innerHTML='errore' per visualizzare il problema non funziona, cioè se il file ajax.php contiene anche un solo errore nell'ultima riga, lo script non viene proprio eseguito nemmeno in parte.

Spero di essermi spiegato, mi sapete dare qualche consiglio ?

Per chi fosse interessato ad ajax vi segnalo questo corso online:

http://www.javapassion.com/ajaxcodecamp/

inviato 10 anni fa
Lokki
X 0 X

Io per debuggare gli script Javascript faccio girare la pagina su firefox e leggo le eventuali segnalazioni di errore nella "Console JavaScript", raggiungibile dal menu "strumenti"

So che esistono dei veri e propri debugger javascript ma non so dirti altro.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Purtroppo la console java non lo riporta credo perchè l'errore è nel php che viene richiamato dalla classe ajax.

Per ora commento pezzo per pezzo nel file ajax.php, ma perchè lavoro con file semplice, ne ho provato uno complesso ieri e ho perso tutto il pomeriggio perchè richiamavo una funzione nella quale non era definita una variabile e una query dava errore, sono impazzito a trovarla  :crazy:

risposto 10 anni fa
Lokki
X 0 X

ma se i problemi sono nel PHP allora ti basta riversare tutti gli errori che genera su un file. Anzi, se controlli nel log di Apache dovresti trovare tutto.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda