Mercoledì
15
Febbraio 2023
Come fare chiamate Ajax a Php in modo corretto? Se vuoi gestire l’input dell’utente, passare parametri a Php evitando il caricamento della pagina allora questa è la guida che fa al caso tuo!
Vedrai nel dettaglio:
Iniziamo subito:
Prima di iniziare dovrai installare correttamente la libreria di jQuery, disponibile sul sito ufficiale a questo link:
Per farlo puoi scaricare la libreria più recente e includerla nei file del tuo tema, oppure installarla richiamandola esternamente con questo codice:
<!-- jQuery -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js" charset="utf-8"></script>
<!-- tuo file javascript in cui inserire l’Ajax -->
<script src="ajax-template.js" charset="utf-8"></script>
Se salta fuori l’errore $ is not a functions puoi correggerlo seguendo questa guida.
Ora veniamo al dunque: per effettuare chiamate Ajax a Php ti servirà questo codice da inserire nel file javascript che hai creato.
var ekw_id = 5; //dichiaro una variabile da passare come parametro al php
$.ajax({
type: "POST", //oppure GET
url: "#", //solo se il file .php da chiamare è nella stessa cartella del js, altrimenti dovrai specificarne il percorso
data: { //dati da passare
ekw_isset_post: "true", //questo viene richiamato dalla funzione if (isset($_POST['ekw_isset_post']))
id: ekw_id,
other: “other”
},
success: function(response){
console.log(response);
alert(“Passato”);
},
error: function(){
alert("Non passato");
}
});
Parametri della funzione Ajax:
Vediamo ora il codice Php:
if (isset($_POST['ekw_isset_post'])) {
$id = $_POST['id']; //contiene il numero 5 dichiarato come variabile in Ajax
$other = $_POST['other']; //contiene la stringa “other”
// code
}
Ora che abbiamo passato parametri tramite Ajax possiamo utilizzarli in Php semplicemente richiamandoli con il le variabili superglobali $_GET e $_POST.
Fai attenzione perché questa funzione non ricarica la pagina web e quindi non aggiorna in automatico il Php.
Se vuoi stampare a video i risultati ottenuti dalla chiamata Ajax dovrai utilizzare la manipolazione del DOM da parte di jQuery o Javascript.
Per questo può esserti utile la funzione this. di Javascript, $(this) di jQuery e il parametro “response” passato nella funzione success di Ajax.
Scrivi un commento