Ciao a tutti, premetto che non se sia la sezione corretta quindi eventualmente i moderatori spostino dove ritengono pi� opportuno.
Sto leggendo un libro di Javascript & Jquery e sono arrivato al capitolo Ajax.
PS: ho letto anche il tutorial di Ajax su w3c school.
Innanzitutto non ho capito una cosa fondamentale: C'� scritto che Ajax permette il caricamento di dati (html, xml, json) anche solo in una parte din una pagina web senza che sia necessario il caricamento di tutta la pagina ma solo del pezzo coinvolto.
Significa quindi che con javascript e jquery, anche solo si fa qualcosa di banale (per esempio modificare o aggiungere un elemento) viene ricaricato tutto il DOM ogni volta (anche se noi poi effettivamente non lo vediamo)?
Dopo questa domanda generale vengo al problema:
Sto seguendo, in particolare, l'esempio di invio di un form mediante ajax. Ho copiato quanto riportato nel libro:
I punti 4 e 5 non li ho capiti bene. $.post() � uno dei metodi a disposizione ($.get(), $.getJSON(), $.getScript() che sono tutte shorthand del metodo $.Ajax() ). register.php � l'url del file a cui inviare i dati da essere processati, details sono i dati del form. Function(data) cosa fa esattamente? E' la funzione che gestisce il responso?codice:1) $("#register").on("submit", function(e) { //all'invio del form 2) e.preventDefault(); // previeni in comportamento di default 3) var details = $("#register").serialize(); //con serialize() vengono raccolte le informazioni 4) $.post("register.php", details, function(data) { S.post() per inviare al server 5) $("#register").html(data); }); });
Il punto 5 posso farne a meno? Nel senso, quello che voglio fare � che il file php (register.php) mandi una mail con i dati raccolti quindi non serve una funzione che gestisca il responso?
Poi non mi torna una cosa: Non devo creare prima l'oggetto new XMLHttpRequest come in alcuni esempi precedenti oppure il metodo $.post() lo fa implicitamente?
Si sar� capito che sono un p� confuso.
L'altro problema � relativo al php:
Ho creato il file register.php dove recupero i dati del form come $nome = $_POST["nome"] e cosi via. Poi c'� la variabile $to (indirizzo email), $subject, $message, $headers e infine passo queste variabile alla funzione mail(). Per� mi esce un errore.. Non ho capito bene che tipo di errore ma cercando potrebbe essere relativo al file php.ini ma non ho assolutamente capito che parametri vanno impostati.
Forse recuperare i dati del form va fatto in altro mode essendoci di mezzo Ajax?
So che sono molte domande ma vi chiedo aiuto perch� non so dove sbaglio.
Uso WAMP.