[Linuxtrent] Re: [ot] impazzire con AJAX e javascript

  • From: Mario <alexmario@xxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Sat, 3 Dec 2005 14:02:04 +0100

Andrea Rossato wrote:
> ciao ciao,
> sto letteralmente impazzendo e non so dove chiedere...
> il tutto dipende, evidentemente, dal fatto che il javascript funziona in 
> modo per me incomprensibile...
> 
> qualcuno può darmi una mano, magari indicandomi bibliografia e risorse? 
> vedo che ci sono esperti in materia, qui...
> 

Su javascript io ho sempre trovato abbastanza comodo :
http://www.devguru.com/technologies/javascript/home.asp

Ma ci sono comunque diversi libri on-line che sono utili :

http://wp.netscape.com/eng/mozilla/3.0/handbook/javascript/

Poi c'è la parte relativa all'interfaccia DOM che è molto interessante : 
http://developer.mozilla.org/en/docs/The_DOM_and_JavaScript

Ovviamente alcune cose non funzionano o funzionano diversamente per I.
Explorer.

> questo il mio problema: sto scrivendo un editor wisiwyg per il mio wiki, 
> e mi serve un po' di ajax per ottenere dati dal server (il contenuto di 
> una pagina e la sua id).
> la cosa non presenta problemi, specialmente usando prototype[1]:
> 
> var url = 'http://localhost/wakka/HomePage/ajax.xml';
> var pars = 'action=getPage';
> var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, 
> onComplete: parseResponse} );
> 
> l'oggetto con la risposta (XMLHttpRequest.responseXML) viene processato 
> con la funzione di callback parseResponse:
> 
> function parseResponse(originalRequest)
>     {
>      
>
alert(originalRequest.responseXML.getElementsByTagName("page_id")[0].firstChild.nodeValue);

>        
>     }
> ed infatti cosí ottengo un alert con l'id della pagina.
> 

Personalmente ti consiglierei di incapsulare tutto in classi e di
passere oggetti.

In javascript se riesci a passare il "nome" dell'istanza puoi chiamare
tutti i metodi o attributi in qualunque parte tu voglia.

Come approccio lo vedo più sicuro e flessibile.


> ora viene il problema. non riesco a far si di settarre, da questa 
> funzione, una variabile globale che possa essere utilizzata in altre 
> funzioni. inoltre da myAjax non sono in grado di accedere alla proprietà 
> che mi interessa: myAjax.transport.responseXML mi risulta nulla.
>

Questo perché credo sia possbile accedervi solo tramite callback.
Mi pare che tu non dica al Request di procedere in maniera sincrona,
percui devi fare un ciclo d'attesa che la richiesta sia soddisfatta.

Infatti il programma procede mentre la richiesta viene inoltrata in
background.
Per questo chiede una callback, che invece viene chiamanta appena la
richiesta è completata.

 
> evidentemente qualcosa mi sufgge. da notare che il tutto avviene in un
> window.onload = function() {
> //ajax stuff
> }
> 
> qualcuno può darmi qualche dritta, please?
> mille grazie.
> ciao
> andrea
> 
> [1] http://prototype.conio.net/ con qui un po' di documentazione:
> http://www.sergiopereira.com/articles/prototype.js.html

Mi sa che ci vorrebbe un bel corso perché tante cose sfuggono pure a me.

Guido, che ne dici?



-- 
Ciao,
  Mario.


----------------------------------------------------
This mail has been sent using Alpikom webmail system
http://www.alpikom.it

-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: