Chiamata AJAX nella stessa pagina non funziona

di il
1 risposte

Chiamata AJAX nella stessa pagina non funziona

Salve a tutti esperti programmatori!

Sono giorni che mi trovo davanti ad un problema al momento irrisolvibile:

In una pagina php ho un button che passa dei dati a js e tramite una chiamata ajax restituisce il risultato, il codice deve necessariamente essere nella stessa pagina dato che se scrivo una funzione php in un altro file ho problemi di lettura di una jquery-ui (è una lunga storia che posterò in altro momento).

Di segito i codici,

bottone:
        <button type="button" name="opener_modify" onclick="dialogModify('modifyServDetails', $id, '$nomeserv', '$icona', '$nome_cust', '$format_data_start', '$format_data_end', '$importo', '$intestatario', '$referente', '$note');" class="opener_modify FR BOTT"><span title="modifica" class="fa fa-pencil fa-1x" aria-hidden="true"></span></button>
codice js


<script type="text/javascript">
        function dialogModify(funzione, id_modServDetails, nomeserv, icona, nomecust, datainizio, datafine, importo, intestatariofatturazione, referente, note) {

          var funzione = funzione;
          var id_modServDetails = id_modServDetails;
          var nomeserv = nomeserv;
          var icona = icona;
          var nomecust = nomecust;          
          var datainizio = datainizio;
          var datafine = datafine;
          var importo = importo;
          var intestatariofatturazione = intestatariofatturazione;
          var referente = referente;
          var note = note;
            
          $.ajax({  
                type: 'POST',
                data: "id_modServDetails=" + id_modServDetails
                        + "&funzione=" + funzione
                        + "&nomeserv=" + nomeserv
                        + "&icona=" + icona
                        + "&nomecust=" + nomecust
                        + "&datainizio=" + datainizio
                        + "&datafine=" + datafine
                        + "&importo=" + importo
                        + "&intestatariofatturazione=" + intestatariofatturazione
                        + "&referente=" + referente
                        + "&note=" + note,
                dataType: "html", 
                
                success: function(risposta) {                

                $( ".dialog_modify" ).html( risposta );
                },
                error: function(){
                  alert("Chiamata fallita.");
                } 
            }); 
          
        };

        </script>

codice php che deve essere necessariamente nella stessa pagina (infatti il parametro url in ajax non c'è):


if (isset($_POST['id_modServDetails']))  {
    $id_modServDetails = $_POST['id_modServDetails'];
        print "<div class='dialog_modify' id='dialog_modify' title='Modifica servizio'>"
        . "<p>$id_modServDetails</p>"
        . "</div>";
}
else {
    echo "non passa la variabile";
}

Ora che sapete tutto, vi chiedo...perchè ajax non mi passa le variabili $_POST['$variabile'] ecc ecc? se lo faccio puntare a una funzione in un altro file php funziona, così no!

So che non tutti potranno aiutarmi ma almeno qualcuno di buon cuore potrebbe provare a spiegarmi?

Grazie mille in anticipo,
Andrea

1 Risposte

  • Re: Chiamata AJAX nella stessa pagina non funziona

    Non puoi, se hai un result in html stamperà l'intera pagina sempre, perchè tu fai una richiesta asincrona della pagina stessa.
    potresti provare con le session storage o local storage e comunque la funzione con quei parametri è troppo lunga, piuttosto usa un oggetto così da passare come parametro la data con i valori e non ogni singolo valore come parametro.
Devi accedere o registrarti per scrivere nel forum
1 risposte