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

    Div vuoto dopo chiamata Ajax con jQuery

    Ciao a tutti ho una domanda sicuramente banale per voi:
    Come faccio a riempire un div (che ho posizionato nell'head) dopo una chiamata ajax (usando jQuery)?
    mi spiego meglio:
    codice HTML:
    <!DOCTYPE html><html><head>
    <div id="dato1"></div>    <div id="dato2"></div> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script><script type="text/javascript">
    function chiamata1(){		$(document).ready(function() {              setInterval(function () {				$('#dato1').load('query1.php')				$.ajax({      type: "POST",      dataType: "JSON",      success:				function(data){					            }			});             }, 1000);		});     } 
    ..... ....
    richiamo questa funziona al caricamento della pagina e riesco a recuperare tramite questo comando:
    document.getElementById("datoLatoServer").innerHTM L;
    tutto tranquillamente.
    Ho una seconda funzione ajax che viene richiamata DOPO che tutta la pagina si è caricata e solo a valle di un if.. quindi solo se si verifica una certa condizione..
    codice HTML:
    function chiamata2(){		$(document).ready(function() {				$('#dato2').load('query2.php')				$.ajax({      type: "POST",      dataType: "JSON",      success:				function(data){					            }			});		});     } 
    
    //......
    //vado a richiamarla:
    chiamata2();
    dato2=document.getElementById("dato2LatoServer").innerHTML;
    solo che mi da l'errore:
    document.getElementById("dato2LatoServer").innerHT ML; è null!
    Mentre dalla prima funzione non ho problemi... in quest'ultima sì.. sembra che il div "dato2" sia null..
    Come posso risolvere? Grazie

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, intanto visto che chiami una funzione solo sul caricamento del dom sarebbe meglio mettere la chiamata di "chiamata2()" in un $(document).ready.... piuttosto che mettere il ---ready--- dentro la funzione stessa...
    Se poi devi recuperare quello che $(#data2).load(...) avrà messo nell'html lo dovrai fare nel success della stessa. Essendo asyncrona se cerchi di recuperare l'innerHTML non è detto che risulti perché potrebbe non aver ancora finito prima del recupero.
    codice:
    function chiamata2() {
     $('#data2').load('query2.php',function(){
       //qui sai che ha finito e se andata a buon fine
    });
    }
    Come nell'esempio piu' in basso puoi gestire e verificare eventuali errori.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    26
    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.