Problema Ajax e Php passaggio variabili
Taggato: davide
- Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 5 anni, 11 mesi fa da jqueryitalia.
- AutorePost
- 11 Aprile 2018 alle 16:50 #7198JAndreaPartecipante
Buonasera a tutti, sono Andrea ed è la prima volta che scrivo in un form.
Ringrazio anticipatamente tutti quelli che cercheranno di arrivare ad una conlusione insieme a me.Ho un ciclo dove vengono generati dei form per creare una lista e dei pulsanti che servono ad eliminare record, quindi ogni pulsante ha un valore univoco
. "<form class='formelimina' method='POST'>" . "<input type='hidden' value='delServIntServ' name='funzione' class='funzione' />" . "<button type='submit' name='elimina' value='".$id_serv."' class='elimina FR BOTT'><span title='elimina' class='fa fa-times fa-1x' aria-hidden='true'></span></button>" . "</form>"
come vedete passo il nome della funzione che utilizzo per eliminare i record e passo il valore di un id, devo passare questi valori con ajax ma uso le classi perchè non possono chiaramente coesistere id uguali, ecco la funzione che elimina
if (isset($_POST['funzione']) && isset($_POST['elimina'])) { $funzione = $_POST['funzione']; $elimina = $_POST['elimina']; switch ($funzione) { case "delServIntServ": delServIntServ($elimina); break; } } function delServIntServ($elimina) { $sqltxt = "SELECT id_serv FROM date_serv WHERE id_serv='$elimina'"; $query = querySql($sqltxt); $arrQuery = mysqli_fetch_row($query); $arrNums = count($arrQuery); if ($arrNums == 0) { $sqltxt = "DELETE FROM servizi WHERE id='$elimina'"; $query = querySql($sqltxt); if (!$query) { print "Errore eliminazione record."; } else { ?> print "Record eliminato."; } } else { print "Impossibile eliminare record, il servizio è ancora associato ad almeno un Cliente."; } }
di seguito invece il codice ajax che utilizzo per ricevere le variabili
$(document).ready(function() { $("form.iscrizione").submit(function(){ var id = $(".elimina").val(); var funzione = $(".funzione").val(); $.ajax({ type: "POST", url: "lib/functions.php", data: {"elimina": id, "funzione": funzione}, dataType: "html", success: function(risposta) { $("div#risposta").html(risposta); }, error: function(){ alert("Chiamata fallita."); } }); return false; }); }); <div id="risposta"></div>
Questo è quanto, l’errore non lo ricevo perchè in questo caso fa tutto php, mi elimina i record ma sembrerebbe non passare minimamente da ajax
Vi chiedo cortesemente di esaminare questo caso perchè…sono fermo e proprio non capisco, grazie mille ancora per il vostro prezioso aiuto.
a presto,
Andrea12 Aprile 2018 alle 13:10 #7199JAndreaPartecipanteSalve sono ancora io, sto tendando nuove soluzioni e testando questo script ma mi sono accordo che non arriva neanche al “success”, lo script riceve correttamente i dati ma si ferma li, come mai?
<head> <script type="text/javascript"> function elimina(id, funzione) { var Input = { elimina: id, funzione: funzione }; alert(Input.elimina + Input.funzione); $.ajax({ type: "POST", url: "functions.php", data: JSON.stringify(Input), dataType: "json", success: function(risposta) { // $.growlUI(risposta); alert("Chiamata riuscita." + Input.elimina); $("div#risposta").html(risposta); }, error: function(){ alert("Chiamata fallita."); } }); return false; }; </script> </head> <body> <button type="button" onclick="elimina(22, 'nomefunzione')">Clicca qui</button> <div id="risposta"></div> </body>
30 Maggio 2018 alle 23:55 #7208jqueryitaliaAmministratoreCiao JAndrea.
Sicuro che il file functions.php ritorni un JSON e non una stringa?
- AutorePost
- Devi essere connesso per rispondere a questo topic.