Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 48

Discussione: [ajax] Aggiornamento pagina

  1. #1
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito [ajax] Aggiornamento pagina

    Devo scrivere uno script AJAX che mi permetta di includere in un div della pagina corrente il contenuto presente in un file php...mi date qualche dritta?

  2. #2
    L'avatar di EuroSalute
    EuroSalute non  connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    946

    Predefinito

    un esempio di script ajax , anche possibile includere variabili di invio, in questo esempio variabili url e title. La variabile file_php il file.php di invio.

    Codice HTML:
    <script type="text/javascript"> 
    
    function chiama_ajax_html(file_php,url,title) {
    
    var res = $.ajax({
       type: "POST",
       url: file_php,	   
       data: "url="+encodeURIComponent(url)+"&title="+encodeURIComponent(title),
    	 async: false	  
     }).responseText;
     
     return res;
     
     } 
    
    //x richiamare la funzione ajax:
    var risposta=chiama_ajax_html('esempio.php','http://esempio.it','Esempio');
    
    
    
    </script>
    utilizzerai la variabile risposta per riempire il div....:

    Codice HTML:
    <script type="text/javascript"> 
    
    $(document).ready(function(){
    
    $('#id_del_div').html(risposta);
    
    });
    
    </script>
    Ultima modifica di EuroSalute : 20-04-2012 alle ore 19.28.12 Motivo: pi info...
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    L'avatar di dreadnaut
    dreadnaut non  connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    5,950

    Predefinito

    Nota che gli script sopra dipendono da 35KB di libreria jQuery, o simile. Se vuoi farne a meno, esistono librerie pi leggere, addirittura puoi farlo con una singola funzione.
    chezDreadnaut
    "Un <BR/> impuro, punto."
    "I <P>&nbsp;</P> non hanno diritto di esistere."

  4. #4
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Si, grazie ma cercavo qualcosa di indipendente da altre librerie...una semplice funzione insomma

  5. #5
    L'avatar di dreadnaut
    dreadnaut non  connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    5,950

    Predefinito

    Guarda questa ad esempio: XMLHttpRequest functions
    chezDreadnaut
    "Un <BR/> impuro, punto."
    "I <P>&nbsp;</P> non hanno diritto di esistere."

  6. #6
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Non essendo esperto di Javascript non mi chiarissimo come si utilizza, mi faresti un esempio? Grazie mille!

  7. #7
    L'avatar di dreadnaut
    dreadnaut non  connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    5,950

    Predefinito

    C' scritto nella pagina, dopo il codice.
    chezDreadnaut
    "Un <BR/> impuro, punto."
    "I <P>&nbsp;</P> non hanno diritto di esistere."

  8. #8
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Ci sono tre aree di codice...dove includo ciascuna?

  9. #9
    L'avatar di dreadnaut
    dreadnaut non  connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    5,950

    Predefinito

    Hai letto il testo fra le aree di codice, le istruzioni ?!
    chezDreadnaut
    "Un <BR/> impuro, punto."
    "I <P>&nbsp;</P> non hanno diritto di esistere."

  10. #10
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Si, ma non c' scritto dove inserirle...

  11. #11
    L'avatar di dreadnaut
    dreadnaut non  connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    5,950

    Predefinito

    Uhm, in un tag <script type="text/javascript"> ... </script>, la dove vuoi che vengano eseguite.

    Codice HTML:
    <div id="contenitore"></div>
    
    <script type="text/javascript">
    /* la definizione della funzione qua */
    
    /* chiamata della funzione */
    sendRequest('pagina.php', handleRequest);
    
    /* quando arriva il risultato... */
    function handleRequest(req) {
    	var writeroot = document.getElementById('contenitore');
    	writeroot.innerHTML = req.responseText;
    }
    </script>
    Se la funzione ti serve in pi file, puoi metterla in un file .js a parte ed includerla nell'head delle pagine.
    Ultima modifica di dreadnaut : 21-04-2012 alle ore 14.39.00
    chezDreadnaut
    "Un <BR/> impuro, punto."
    "I <P>&nbsp;</P> non hanno diritto di esistere."

  12. #12
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Allora...ho incluso la definizione della funzione tramite un file .js esterno.
    La chiamata della funzione la devo mettere ad esempio sulla propriet onclick di un elemento html?

  13. #13
    L'avatar di dreadnaut
    dreadnaut non  connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    5,950

    Predefinito

    Se vuoi che avvenga al click, si.
    chezDreadnaut
    "Un <BR/> impuro, punto."
    "I <P>&nbsp;</P> non hanno diritto di esistere."

  14. #14
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    ma cosa sono i due parametri della sendRequest?
    Il primo il file da includere? E il secondo?

  15. #15
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,647

    Predefinito

    No, il primo non il file da includere, solo l'indirizzo (URL) a cui effettuare la richiesta, la cui risposta verr data in pasto alla funzione che hai specificato nel secondo parametro, che potr eventualmente modificare l'albero del documento inserendo la porzione di documento appena ottenuta.

  16. #16
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Mi faresti dunque un esempio di come effettuare la chiamata?

  17. #17
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,647

    Predefinito

    Il codice che ha proposto Dreadnaut praticamente gi pronto, qual' il problema?

  18. #18
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Il problema intanto...posso anche lasciare pagina.php ma che contenuto deve avere questo file?

  19. #19
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,647

    Predefinito

    File? Che file? E cosa ci sarebbe in questa pagina.php? Scusa, ma non so come stai strutturando il tutto.

  20. #20
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    pagina.php abbiamo detto che il primo parametro della funzione, cio l'indirizzo a cui effettuare la richiesta. Dentro a pagina.php per cosa deve esserci?

  21. #21
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,647

    Predefinito

    Il file puoi chiamarlo come vuoi, quello solo un nome di esempio. Ci devi piazzare ci che deve venire inserito nella pagina, non deve essere quindi un documento HTML completo, ma una sola porzione. esattamente come hai scritto tu nel primo messaggio: viene incluso nel div ci che genera come risposta lo script PHP.

  22. #22
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Ah ma io ho scritto "il primo il file da includere?" e tu mi hai risposto "no"
    Comunque...non devo specificare anche in che punto della pagina includermelo?

  23. #23
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,647

    Predefinito

    La funzione sendRequest non lo include, effettua solo la richiesta, la funzione specificata nel secondo parametro che si occupa di questo. Di per s sendRequest non modifica l'albero del documento.
    La porzione di documento cos ottenuta viene inserita come contenuto dell'elemento avente come id contenitore, sovrascrivendo qualsiasi altra cosa ci fosse in precedenza.

  24. #24
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Ok perfetto quindi devo avere un div nella pagina da cui effettuo la chiamata che abbia come id "contenitore"?

  25. #25
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,647

    Predefinito

    Esattamente.

  26. #26
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Tutto funzionante, grazie a entrambi! :)

    ----------------

    Altro dubbio...se volessi trasformare l'id "contenitore" in un parametro da passare ogni volta che richiamo la funzione come dovrei modificare il codice?
    Ultima modifica di andreafallico : 22-04-2012 alle ore 17.13.56

  27. #27
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,647

    Predefinito

    Puoi usare una cosa come:
    Codice:
    function load(URL, element){
    	sendRequest(URL, handleRequest);
    	function handleRequest(req){
    		element.innerHTML = req.responseText;
    	}
    }
    oppure
    Codice:
    function load(URL, elementId){
    	sendRequest(URL, handleRequest);
    	function handleRequest(req){
    		document.getElementById(elementId).innerHTML = req.responseText;
    	}
    }
    A seconda dell'esigenza. Alla prima devi fornire URL e oggetto rappresentante l'elemento in cui inserire la risposta del server, nella seconda funzione invece il secondo parametro una stringa rappresentante l'id dell'elemento.

  28. #28
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    cioe' definisco una funzione dentro ad un'altra funzione?
    Ci sarebbe un alternativa?

  29. #29
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,647

    Predefinito

    Perch? Qual' il problema?

  30. #30
    tryhere non  connesso Altervistiano Junior
    Data registrazione
    19-09-2007
    Messaggi
    747

    Predefinito

    Non mi piace l'idea di inserire la definizione di una funzione all'interno della definizione di un'altra funzione...

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •