Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problema con Ajax

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    28

    Problema con Ajax

    Ciao a tutti,
    premetto che sono nuovo nel forum ed ho iniziato a programmare da un mesetto, quindi mi scuso in anticipo se dovessi fare domande che voi sembreranno banali o comunque se in generale dovessi sbagliare quelcosa.

    Detto questo premetto che sono tre giorni che cerco di risolvere il problema da me guardando precedenti richieste di aiuto e milioni di pagine web, ma non so proprio dove sbattere la testa.

    Il mio problema è il seguente. Devo creare una paginetta html che mi visualizzi in tempo reale (magari con qualche secondo di ritardo) una tabella fatta e finita, nel senso che la tabella ha un numeo di righe e di colonne prestabilite che non varierà mai, varia solo il contenuto!

    Ora per semplificare il problema ho pensato di creare due Frameworks, uno statico (quello del menu per intenderci) e uno dinamico che conterra questa tabellina.
    Io ho bisogno che si aggiorni tutto in maniera asincrona, e per fare questo ho iniziato a vedermi un po' di Javascript e come richiamare i valori in Ajax. Ora per me la questione sta diventando sempre più difficile, quindi, anche se non è la soluzione stilisticamente migliore ho pensato di fare un programmino in Python che mi vada a scrivere su un file txt l'intera tabella (ho pensato fosse più semplice) modificandone direttamente i valori.

    A me quindi servirebbe capire come posso fare in modo che Ajax ogni tot secondi mi peschi questo file txt e successivamente me lo stampi.

    So che è sicuramente una sciocchezza, però davvero non vi romperei se ci fosse un alternativa.

    Vi ringrazio da subito della disponibilità

    Emilio

  2. #2
    ciao,
    se usi jquery è una sciocchezzuola (non ti servono i frame)

    codice:
    <div id="tabella">
    </div>
    codice:
    function aggiornatabella(){
       $('#tabella').load('contenuto.txt');  // carica il contenuto dal file e lo mette nel div #tabella
    }
    
    $(document).ready(function(){  // quando è tutto pronto...
       setInterval(aggiornatabella, 1000);   // ogni secondo aggiorna la tabella
    });

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    28
    Ti ringrazio per la risposta veloce, era quello che cercavo!
    Non ho mai utilizzato jQuery, ma dando un primo sguardo alla guida e facendo due prove tutto funziona proprio come volevo funzionasse e per questo te ne sarò eternamente grato!

    Ora c'è solo un piccolo problema, ho testato questo aggiornamento automatico al momento solo su IEX e Firefox.

    Su Firefox tutto perfetto, su IEX no, nel senso che la prima volta che apro la pagina lui mi stampa la tabella, però se io modifico la tabella lui non la aggiorna.
    Addirittura se io chiudo IEX e rientro, ritornando sul link lui continua a darmi i valori della prima volta che si è collegato. Per poter fare in modo che i valori si aggiornino devo eliminare cronologia Cookie e tutto il resto, però il problema rimane!

    Ho visto che c'è questa stringa di codice da mettere nell'Header per forzare il browser a non memorizzare nulla nella cashe.

    codice:
    <meta http-equiv="expires" content="0">
    Fatta questa modifica ho nuovamente eliminato tutta la cronologia etc, ma il problema persiste!

    Come faccio a forzare il Browser a non memorizzare nulla sulla Cache (ammettendo che questo sia davvero il problema) così che giri anche su IEX ed eventualmente su altri Browser che non ho ancora provato, di fatto i più comuni oltre ai due già citati saranno Chrome e Safari, forse forse Opera, ma anche se per Opera non è ottimizzato chissene!

    Grazie di nuovo per la disponibilità

    Emilio

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ti basta aggiungere un numero random alla chiamata ajax

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    28
    In che senso? Purtroppo non programmo da molto, ad ogni modo confermo che funziona su tutti i Browser tranne appunto IEX.

    Ti metto il codice che ho fatto, perché non so dove inserire il numero Random per la chiamata ad Ajax...

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    
    <meta http-equiv="expires" content="Mon, 26 Jul 1997 05:00:00 GMT">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="pragma" content="no-cache">
    
    	<title>Guida jQuery - Introduzione</title>
    	<link rel="stylesheet" href="reset.css" type="text/css" />
    	<link rel="stylesheet" href="base.css" type="text/css" />
    	<script type="text/javascript" src="jquery-1.9.1.js"></script>
    	<style type="text/css">
    	</style>
    <script type="text/javascript">
    
    function aggiornatabella(){
       $('#tabella').load('contenuto.txt');  // carica il contenuto dal file e lo mette nel div #tabella
    }
    
    $(document).ready(function(){  // quando � tutto pronto...
       setInterval(aggiornatabella, 1000);   // ogni secondo aggiorna la tabella
    });
    
    
    </script>
    </head>
    <body>
    
    <div id="tabella">
    
    </div>
    
    </body>
    </html>
    Grazie mille!

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    $('#tabella').load('contenuto.txt?'+new Date().getTime());

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2013
    Messaggi
    28
    Funziona alla perfezione, grazie mille!

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.