Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    26

    eseguire chiamata ajax solo quando i dati nel database vengono aggiornati

    Ciao a tutti, al momento effettuo una chiamata ajax ad una pagina php (in cui è presente una query ad un database) che recupera i dati e li trasmette alla mia pagina principale in cui risiede del codice js.
    Faccio questa chiamata ajax tramite una funzione che ho temporizzato, cioè javascript la esegue ogni 3 secondi ma tale metodologia non è di mio gradimento.. cioè mi sembra una soluzione non ottimale!
    Per questo mi chiedevo: c'è un modo per effettuare la chiamata ajax SOLO quando i dati nel database vengono aggiornati?
    Grazie mille

  2. #2
    ciao!

    supponendo tu abbia un form, e senza vedere il tu codice, io farei una cosa del genere:
    - invio il form
    - aggiorno i dati tramite ajax
    - se l'aggiornamento va a buon fine, faccio le operazioni che mi servono

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    26
    Ciao e grazie per la risposta! E scusami per la domanda un po' vaga.. però l'ho generalizzata cosicché possa essere utile anche a qualche altro utente..
    Comunque nel mio caso non ho un form, mi spiego meglio:
    Un sensore di temperatura invia i dati al mio database.
    Ho creato 2 pagine .php una per la ricezione del valore di temperatura e l'altra di visualizzazione.
    In visualizzazione .php ho messo una chiamata ajax temporizzata alla pagina ricezione.php, nella quale risiede una query al database che tramite un echo e span id mi permette la visualizzazione del valore di temperatura nella pagina visualizzazione.php del valore stesso aggiornato!
    Solo che se io faccio questa chiamata ajax temporizzata ogni (ad esempio) 3 secondi.. magari succede che il valore di temp non è cambiato e quindi ho effettuato una ricezione di dati inutile, per questo mi chiedevo se si potesse eliminare questa temporizzazione della chiamata ajax e ci fosse una maniera per effettuare la chiamata ajax SOLO quando il valore di temperatura nel DB è cambiato.

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, potresti provare ad usare i web socket . Funziona in maniera diciamo opposta, quando succede qualcosa lato server o al sorgente indicato invia un evento al browser.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    26
    E' una cosa del tutto nuova per me... ci darò un occhiata.. ma sembra proprio quello che mi serve. 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.