Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    Inviare variabili da JS a PHP e ottenere un risultato

    Ciao a tutti!
    Non ho grossi problemi ad inviare dati alle mie pagine PHP tramite JS.
    Il problema di oggi è che mi servirebbe ottenere un output dalla pagina PHP.


    Mi spiego meglio...

    Immaginate che nella mia pagina io abbia inserito una funzione JS:

    codice HTML:
    <script>
    function miaFunzione(miaVar){
            var data = new FormData();
            data.append('_miaVar',miaVar);
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'mioFile.php', true);
            xhr.onload = function () {
                if(xhr.status !== 200){
                    return;
                }
                //Qui vorrei ottenere la variabile da PHP per poterla gestire. Per esempio:
                if(miaVarDaPHP==10){
                   //eseguo un'azione
                }
                if(miaVarDaPHP==20){
                   //eseguo un'altra azione
                }
                //ecc ecc
                xhr.send(data);
            }
        }
    </script>
    Questa funzione invia la variabile $_POST['_miaVar'] al file mioFile.php che esegue le sue procedure.
    Una volta eseguite mi servirebbe avere il risultato da gestire poi dove ho scritto il commento nello script.

    E' fattibile? Grazie a tutti!

  2. #2
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    Ciao è possibile vedere il codice html del form? Comunque per farla breve ti basterebbe gestire la risposta che ti arriva da php con xhr.responseText, ricorda che le risposte arrivano da php tramite degli echo.
    Ci sarebbe da capire poi se cio che vuoi ritornare sono semplici variabili oppure array/oggetti, penso che per gestire piu dati ti conviene mettere tutto dentro un array se vuoi gestire le singole entità singolarmente.

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Quote Originariamente inviata da ninja72 Visualizza il messaggio
    Ciao è possibile vedere il codice html del form? Comunque per farla breve ti basterebbe gestire la risposta che ti arriva da php con xhr.responseText, ricorda che le risposte arrivano da php tramite degli echo.
    Ci sarebbe da capire poi se cio che vuoi ritornare sono semplici variabili oppure array/oggetti, penso che per gestire piu dati ti conviene mettere tutto dentro un array se vuoi gestire le singole entità singolarmente.
    Ciao grazie mille!
    Non ho form creo un oggetto formData nel mio script js ed uso quello per spedire le variabili a PHP!

    Questo metodo di usare echo mi ricorda molto il metodo che si usava in actionScript per ottenere un risultato analogo!

    Esattamente come faccio?

    Una cosa del genere?

    Codice PHP:
    Echo 'Ciao sono Veronica'
    E poi
    codice HTML:
     var output=xhr.responseText;
    alert('il mio result ='+output);
    Va bene? (Sono da cell e non posso provare ora)

    E se invece come hai detto tu volessi inviare indietro un Array come posso fare?

    Grazie ancora

  4. #4
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    php
    codice:
    $form = $_POST;
    echo json_encode($form);
    js
    codice:
    window.addEventListener('load', () => {
    
                function miaFunzione(miaVar) {
                    var data = new FormData();
                    data.append('_miaVar', miaVar);
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'mioFile.php', true);
                    xhr.send(data);
                    xhr.onload = function () {
                        if (xhr.status == 200) {
                            let result = JSON.parse(xhr.responseText);
                            if (result._miaVar == 10) {
                                alert('sono 10');
                            }
                            if (result._miaVar == 20) {
                                alert('sono 20');
                            }
                        }
                    }
                }
    
                miaFunzione(10);
    
            })

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Non credo di aver capito....però adesso faccio qualche prova!

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.