Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Testare secondi da funzione JavaScript che lancia routine in PHP

    Buongiorno, sto programmando una funzione particolare in WordPress attraverso il plugin
    Woody Snippets che fino ad ora sta funzionando molto bene.

    Ora ho questo problema: ho una funzione Javascript lato client aperta sul broswer dell'utente che testa l'orario e mi fa comparire il contatore a video (nell'esempio qui sotto). Ogni X secondi (10 nella realtà ma qui nell' esempio ho messo ogni 30) devo lanciare una routine in PHP che apre dei files e fa delle operazioni lato server per poi prendere i risultati aggiornati e riproporli a video. Potrei anche usare il refresh ma non mi soddisfa il continuo sfarfallio della pagina.

    Questo lo script in Javascript adattando una funzione orologio abbastanza comune.
    codice HTML:
    <script>
        var data = new Date();
        data.setTime(<? echo time()*1000; ?>);
        function orologio()
        {
    
           var sec = data.getSeconds();
            document.getElementById('orologio').innerHTML = sec;
            data.setTime(data.getTime()+1000)
            setTimeout("orologio();",1000);
        if(sec==0)
            {
                document.getElementById('scritta').innerHTML = 'lancio routine 1 di apertura file in PHP';
                // "routine 1 di apertura file in PHP"; 
            }
        if(sec==30)
            {
                document.getElementById('scritta').innerHTML = 'lancio routine 2 di apertura file in PHP';
                // "routine 2 di apertura file in PHP"; 
            }
        }
    
        
    </script>
    <body onload="orologio()">
        <div id="orologio"></div>
        <div id="scritta"></div>
    </body>
    Mi hanno detto che posso passare il flusso dati o una variabile o il controllo tramite Ajax ma non so come fare visto che è la prima volta che incontro questo problema. Qualcuno mi può dare una mano ?
    Saluti
    Alfredo

  2. #2
    Volevo aggiornarvi sui test. Ho provato ad inserire nella pagina la riga html
    codice:
    <META HTTP-EQUIV="refresh" CONTENT="15">
    A parte lo sfarfallio ho visto che sul lungo termine (dopo 20 minuti) il server si sovraccarica e (forse per evitare un attacco DoS) si disconnette. E quindi eliminiamo anche l'opzione refresh ogni x secondi. Resta da provare a questo punto solo Ajax.

  3. #3
    E in effetti, ragionandoci, potrei anche passare una costante a PHP. Mi basta che alla scadenza del secondo il comando venga trasferito a PHP ed esegua lo script lato server, che poi apre i files e li mette a video. Mi immagino che comunque si faccia una chiamata anche fittizia ad Ajax facendo finta di passargli un parametro (che può rimanere sempre lo stesso tanto a me basta che venga eseguito lo script in PHP).

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 © 2025 vBulletin Solutions, Inc. All rights reserved.