• User Attivo

    Aggiornare dati tramite Ajax

    Ciao a tutti,

    avrei alcune domande riguardo la seguente "guida"

    giorgiotave.it/forum/scripting-lato-client/115025-contenuto-che-si-aggiorni-senza-refresh-classico.html

    Cè 1 problema, perchè explorer 6 e 7 non si aggiornano? Su mozilla nessun problema..

    Altra cosa, se io vorrei fare il primo aggiornamento dopo 3 sec e i successivi dopo circa 40 sec, come potrei fare?

    Questa soluzione và sempre bene? anche se ci saranno moltissime tabelle nei DB o ne risentirà parecchio?

    Grazie infinite, Saluti.


  • ModSenior

    Ciao Sovietiko,

    per cambiare ogni quanto ripetere l'esecuzione puoi utilizzare una variabile contatore ed in base ad essa cambiare il numero di secondi dopo il quale ripetere la funzione.
    Dipende dall'uso che ne fai, dalla query eseguita, e da quante richieste ci saranno contemporaneamente.


  • User Attivo

    Ciao grazie per la risposta,

    Risolto per l'aggiornamento, avevo sbagliato i settaggi semplicemente.

    Domanda precedente, come mai su explorer non aggiorna i dati?

    Per l'uso dipende dall utenza, diciamo che si inizia con pochi utenti connessi insieme (diciamo un 10 - 20). Credo di fare aggiornamenti dei dati con intervalli di 10sec o 30.. Cosa mi consiglieresti?

    Grazie ancora, Saluti.


  • ModSenior

    Intanto dovresti vedere in quale parte c'è il problema, lo script esegue comunque le richieste in ajax? Esegue la funzione ogni X secondi?

    Tieni presente che minor è l'intervallo di tempo tra una richiesta e l'altro di un utente, maggiore sarà il carico del server, risponde a priori se 20 utenti saranno un problema è impossibile in quanto dipende dal tipo di query che fai, più sono complesse e maggiori sono i dati interessati maggiore sarà il carico del server. Se sei su un hosting professionale potresti non avere il minimo problema, mentre su un hosting overselling potresti avere parecchi problemi ad esempio, il tutto come vedi dipende da diversi fattori che io non conosco per cui mi è impossibile dirti più di tanto, sicuramente se possibile implementerei una cache per evitare di dover fare ad ogni richiesta una o più query e ridurre cosi i tempi di elaborazione del server.


  • User Attivo

    Grazie per la risposta,

    per quanto riguarda explorer, fà solo il primo refresh i successivi non li esegue..

    function Chat()
    {
    var xmlHttp;
    try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
    // Internet Explorer
    try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
    try
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e)
    {
    alert("Il tuo browser non supporta la chat!");
    return false;
    }
    }
    }
    xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
    {
    document.getElementById("msg").innerHTML=xmlHttp.responseText;
    setTimeout('Chat()', 6000); //tempo di refresh generale
    }
    }
    xmlHttp.open("GET","file.php",true);
    xmlHttp.send(null);
    }
    setTimeout('Chat()', 2000);

    Praticamente fà solo il caricamento dopo i 2 secondi.. I successivi refresh impostati ogni 6 secondi non li fà.
    In mozilla non riscontro alcun tipo di problema.

    Ottima l'idea delle cache, Grazie.


  • User Attivo

    Risolto, problema dei file temporanei di IE -.-''

    Si può chiudere e grazie ancora!