Mluvili jsme o GET v posledním videu, ale POST jsme nevěnovali dostatečnou pozornost. Takže jsem si myslel, že to uděláme tady. Velkým rozdílem v POST je, že téměř vždy potřebujete předat data spolu s požadavkem. Tato data mohou mít mnoho podob, ale může to být jen objekt, který máte kolem. Syntaxe je také snadná:
$.post( "/data/process.php", ( name: "Susan", job: "Writer" ) function(data, textStatus, jqXHR) ( // success ) );
Všimněte si druhého parametru, který je objektem (v podstatě JSON) dat. Tato data mohou být téměř cokoli (včetně řetězce). Je na vás, abyste to předali takovým způsobem, který je užitečný pro váš backend.
Zpět k našemu příkladu formuláře z posledního videa, co kdybyste chtěli předat všechna data z celého formuláře? Také jste nechtěli, abyste museli aktualizovat JavaScript, když se změnil formulář. jQuery to usnadňuje svou metodou serialize (). Stačí jej zavolat na samotný prvek formuláře:
$("#my-form").serialize();
To prohlédne celý formulář a vytvoří řetězec dotazu z každého pojmenovaného vstupu ve formuláři. Pak to můžete použít jako data, která jste minuli, když jste $ .post ().
$("#my-form").on("submit", function() ( $.post( "/", $("#my-form").serialize(), function(data, textStatus, jqXHR) ( console.log("success"); ) ); ));
Podívejte se na Pen CtoEg od Chris Coyier (@chriscoyier) na CodePen