• User

    Ajax: risultati a intervalli di tempo

    Spero che il titolo non sia fuorviante. Ho creato un codice in ajax che richiama una pagina in php, che genera numeri casuali. Fin qui nessun problema.

    Il fatto è che il codice continua a stampare numeri casuali all'interno del div segnalato ad ajax ogni 5 secondi. La mia intenzione però è quella di evitare che i numeri vengano stampati uno dietro l'altro, ma semplicemente che ogni 5 secondi quello vecchio venga sostituito dal nuovo numero casuale.

    Avete delle dritte da darmi? ci ho sbattuto la testa ma non ho raggiunto risultati.
    Avevo pensato in caso che a seconda del risultato stampato con echo nel codice php, ajax reagisca in un modo. Ma non sono riuscito a prelevare il risultato con ajax.
    In questo caso?

    Grazie!


  • User Attivo

    Posta un po di codice, così da poter modificare quello attualmente funzionante...

    Ti anticipo che da quello che ho capito, dovresti sostituire la parte della scrittura nel div, con un innerHTML senza aggiungere altre cose...


  • User

    Grazie per la risposta, ma alla fine sono riuscito a risolvere per la prima.

    Invece per quanto riguarda la seconda richiesta, ho solo qualche bozza che non mi da nessun risultato. Mi servirebbe capire come riesco a prelevare un risultato dal php e far reagire ajax in un modo.
    Ad esempio nel file php ho una query e ottengo il risultato 1. Ecco è possibile che ajax riesca a capire se il risultato è uno o diverso da uno?

    Ecco quello che ho pensato di sviluppare. Ho una funzione chiamata Aggiorna: ```

    function Aggiorna() {
    var r = Math.random();
    myRequest = CreateXmlHttpReq(myHandlerCCP);
    myRequest.open("GET","aggiorna.php?rand="+r);
    myRequest.send(null);
    }

    
    

    function myHandlerCCP()
    {
    if (myRequest.readyState == 4 && myRequest.status == 200)
    {
    risposta = myRequest.responseText;
    var Messaggio = document.getElementById("DivAggiorna");

    if (risposta == '1')  
            {  
    

    "Risposta positiva" (devo ancora capire che inserire qui)
    }
    else
    {
    "Risposta negativa" (come sopra)
    }
    }
    }


  • User Attivo

    Prova a fare un "Alert" per vedere che risposta ti da, basta che nella pagina php ci sia un acapo stampato, che il JS non trova la differenza.


  • User

    Fammi capire. Se nel file php viene stampato qualcosa, il js reagisce.
    Ad esempio se viene stampato qualcosa, la variabile risposta è uguale a 1?
    Quindi con un ciclo if-else impongo due alert in questo modo:

    
    if (risposta == '1')  
                {  
     
     alert(E' stato stampato qualcosa);
                 }  
                else  
                { 
    alert (Non è stato stampato nulla);
                } 
    
    

    Può andare?


  • User Attivo

    Si, se tu aquisisci la risposta di una pagina php, il contenuto della risposta è ciò che la pagina, virtualmente, contiene, cioè ciò che ha stampato, se stampi 1, la risposta sarà 1, per controllare, fai un'alert della risposta.


  • User

    Ok, ora inizio a vederci chiaro. Appena sviluppo qualcosa riporto il risultato.

    Per il resto sei stato gentilissimo!


  • User Attivo

    Siamo tutti qui apposta...facci sapere come va a finire!!!

    Buon lavoro!!!