Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    22

    Recuperare valore variabile PHP

    Salve a tutti,
    come da titolo della discussione, sto avendo dei problemi nel recuperare in un file JS il valore di una variabile PHP.
    Mi spiego meglio.
    Dal file JS richiamo una funzione php e voglio che questa ritorni un valore in un div della pagina HTML.
    $.get(
    "funzione.php",
    { parametro: variabile_javascript},
    function(data) {
    $("#id_del_div").html(data);
    }
    );

    Nel file PHP recupero il parametro con $_GET["parametro"] e alla fine faccio echo $variabile_php.
    A questo punto, nel file JS, recupero il valore del div:
    document.getElementById("id_del_div").textContent;
    Il problema è che il risultato è una stringa vuota.

    Qualcuno saprebbe gentilmente dirmi se e in cosa sto sbagliando?
    Grazie a tutti.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Monitorizza la chiamata Ajax con la console così vedi cosa invi e cosa ricevi, se l'invio è corretto e non ricevi nulla il problema è php
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    22
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Monitorizza la chiamata Ajax con la console così vedi cosa invi e cosa ricevi, se l'invio è corretto e non ricevi nulla il problema è php
    No, il problema non è PHP. Perchè se anzichè "riempire" il div faccio console.log(data), mi stampa in console il giusto valore della variabile php di cui faccio echo.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Allora significa che il div che cerchi di popolare o non esiste oppure non è ancora disponibile nel documento (esegui la chiamata ajax prima che il documento sia completamente caricato)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    22
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Allora significa che il div che cerchi di popolare o non esiste oppure non è ancora disponibile nel documento (esegui la chiamata ajax prima che il documento sia completamente caricato)
    Cerco di spiegare meglio cosa sto cercando di ottenere.
    La pagina viene caricata. Il div in questione è sempre "display:none", perchè mi serve solo per salvare il valore della variabile php, che poi prendo con getElementById.
    Quando clicco su un bottone della pagina, parte una funzione JS all'interno della quale c'è la chiamata alla funzione php. (Senza mai ricaricare la pagina), chiamo questa funzione JS ripetutamente per monitorare lo stato di alcuni valori in un database.
    Aggiungo che il valore del div è disponibile a inizio funzione - testato con console.log().
    A sto punto sorgono spontanee due domande:
    a) se non ricarico la pagina, il valore del div cambia? (sono propenso a dire di si, perchè se lo forzo ad un certo valore, questo valore me lo ritrovo)
    b) c'è un modo più immediato per usare in JS il valore di una variabile php? Ho trovato la seguente soluzione
    <?php echo $variabile; ?> ma non funziona ($.get ignora i risultati ritornati)


  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    22
    Ho trovato questa soluzione e sembra funzionare:

    var xhr;
    if(window.XMLHttpRequest){
    xhr = new XMLHttpRequest();
    }
    var url = 'funzione.php?parametro='+variabile_js;
    xhr.open('GET', url, false);
    xhr.onreadystatechange = function(){
    if(xhr.readyState===4 && xhr.status===200){
    document.getElementById("id_div").innerHTML=xhr.re sponseText;
    }
    }
    xhr.send();

Tag per questa discussione

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.