Abbiamo parlato di GET nell'ultimo video ma non abbiamo prestato abbastanza attenzione a POST. Quindi ho pensato che l'avremmo fatto qui. La grande differenza con POST è che è quasi sempre necessario trasmettere i dati con la richiesta. Questi dati possono assumere molte forme, ma potrebbe essere solo un oggetto che hai intorno. Anche la sintassi è semplice:
$.post( "/data/process.php", ( name: "Susan", job: "Writer" ) function(data, textStatus, jqXHR) ( // success ) );
Notare il secondo parametro che è un oggetto (essenzialmente JSON) di dati. Questi dati possono essere qualsiasi cosa (inclusa una stringa). Sta a te passarlo in modo che sia utile al tuo backend.
Tornando al nostro esempio di modulo dall'ultimo video, cosa succederebbe se volessi passare tutti i dati dell'intero modulo? Inoltre non volevi dover aggiornare JavaScript quando il modulo è cambiato. jQuery lo rende facile con il suo metodo serialize (). Chiamalo semplicemente sull'elemento del modulo stesso:
$("#my-form").serialize();
Questo esaminerà l'intero modulo e creerà una stringa di query da ogni input denominato nel modulo. Quindi puoi usarlo come i dati che hai passato quando $ .post ().
$("#my-form").on("submit", function() ( $.post( "/", $("#my-form").serialize(), function(data, textStatus, jqXHR) ( console.log("success"); ) ); ));
Guarda Pen CtoEg di Chris Coyier (@chriscoyier) su CodePen