Visualizzazione dei risultati da 1 a 6 su 6

Discussione: ahah vs ajax

  1. #1

    ahah vs ajax

    pensavo di usare ahah per estrarre dei record dal database e visulaizzarli senza ricaricare pagine. Però ahah usa innerhtml e, correggetemi se sbaglio, non posso applicare funzioni javascript sui tag generati dall'innerhtml quindi l'output sarebbe statico.
    Devo quindi usare per forza ajax con xml(del tipo rico) in output e poi il dom per poter applicare dei cambiamenti agli stili dei tags?

    E'giusto il mio ragionamento o sbaglio qualcosa? Scusatemi ma non sono un esperto e so che potrei sparare anche cavolate, quello che imparo è solo per aggiornare il mio sito personale.
    www.staffords.it

    html è lento...php è ROCK

    php work in progress database di staffordshire bull terrier(razza di cani)
    http://tonyz.altervista.org/

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,079

    Re: ahah vs ajax

    Originariamente inviato da questin26
    pensavo di usare ahah per estrarre dei record dal database e visulaizzarli senza ricaricare pagine. Però ahah usa innerhtml e, correggetemi se sbaglio, non posso applicare funzioni javascript sui tag generati dall'innerhtml quindi l'output sarebbe statico.
    Devo quindi usare per forza ajax con xml(del tipo rico) in output e poi il dom per poter applicare dei cambiamenti agli stili dei tags?

    E'giusto il mio ragionamento o sbaglio qualcosa? Scusatemi ma non sono un esperto e so che potrei sparare anche cavolate, quello che imparo è solo per aggiornare il mio sito personale.
    credo che tu sbagli
    In parole povere, in ajax abbiamo una serie di comandi, per esempio (in pseudo codice):

    1) var h = creazione oggetto per richiesta web

    2) h.onreadystatechange = funzione di ritorno

    3) h.open

    dopo di che, nella funzione di ritorno ripeschiamo o l'xml o il text generato dal server (sei tu che decidi cosa usare, a seconda dei casi)

    detto questo, il problema consiste nel riscrivere quelle istruzioni in un insieme omogeneo e coerente.

    Per esempi, una tipica chiamata ajax è:
    codice:
    function prova1()
    {
    	var params = "variabile1=valore1&variabile2=valore2";
    	var x = new goAjax("?ajax_comando=1", prova1_callback, params);
    	function prova1_callback()
    	{
    		document.getElementById("div1").innerHTML = this.req.responseText;
    		//alert(this.req.responseText);
    	}
    }
    dove, come puoi notare, crei un oggetto passando:

    1) l'url con uno o più parametri

    2) l'indirizzo della funzione di ritorno

    3) eventualmente altri parametri


    La funzione di ritorno non fa altro che prenderti il testo mandato, nel tuo caso per esempio una <table>...</table>

    e inserirno dentro un div con innerHTML

    Nota che il server può mandare pure anche codice html con javascript che funzionerà benissimo


    il signor ahah non fa altro che crearti una funzione ahah al posto di goAjax. Però, invece che passare come parametro l'indirizzo di una funzione di ritorno, passa l'id di un oggetto che supporta innerHTML, rinunciando in questo modo alla caratteristica più importante di ajax.


    Comunque, in sovrappiù a quello detto, ho letto qualcosa su un libro americano e ti posso assicurare che un codice tipo ahah non è neanche preso in considerazione, perciò, ne puoi trarre le conclusioni da solo.


    Pietro

  3. #3
    thank you pietro, quindi se opto per ahah con l'innerhtml posso comunque spararci dentro dei tag html e andare a modificarne lo stile con il DOM?
    Mi sembrava di aver capito che con innerhtml una limitazione è che il browser non riesce a usare il getelementbyid sugli id presenti nel codice iniettato.

    www.staffords.it

    html è lento...php è ROCK

    php work in progress database di staffordshire bull terrier(razza di cani)
    http://tonyz.altervista.org/

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,079
    Originariamente inviato da questin26
    thank you pietro, quindi se opto per ahah con l'innerhtml posso comunque spararci dentro dei tag html e andare a modificarne lo stile con il DOM?
    Mi sembrava di aver capito che con innerhtml una limitazione è che il browser non riesce a usare il getelementbyid sugli id presenti nel codice iniettato.


    A me funziona, con IE, FireFox ed Opera

    Pietro

  5. #5
    ok fugati i dubbi, opto per la semplicità di ahah
    www.staffords.it

    html è lento...php è ROCK

    php work in progress database di staffordshire bull terrier(razza di cani)
    http://tonyz.altervista.org/

  6. #6
    scusate,
    e se invece di usare innerHTML volessi usare ad esempio appendChild(req.responseText)?
    ho provato ma non mi funziona...

    altra domanda: se nel codice preso con ahah dal server compare ad esempio &amp;agrave; ,firefox mi dà i seguenti 2 errori

    Error: entità non definita
    Source code:
    &lt;p class="lanews">Se&agrave; [...]&lt;/p>

    (con il puntatore sulla e commerciale)

    Error: An invalid or illegal string was specified = NS_ERROR_DOM_SYNTAX_ERR
    Source file: http://locale:8080/sitop/notizie.js
    Line: 34



    credo si riferiscano alla stessa cosa...in pratica non è possibile usare le entità carattere?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.