Мы говорили о GET в последнем видео, но не уделили POST достаточно внимания. Так что я подумал, что мы сделаем это здесь. Большая разница с POST заключается в том, что вам почти всегда нужно передавать данные вместе с запросом. Эти данные могут принимать разные формы, но это может быть просто объект, который у вас есть. Синтаксис также прост:
$.post( "/data/process.php", ( name: "Susan", job: "Writer" ) function(data, textStatus, jqXHR) ( // success ) );
Обратите внимание на второй параметр, который является объектом (по сути, JSON) данных. Эти данные могут быть чем угодно (включая строку). Вы должны передать его таким образом, чтобы это было полезно для вашей серверной части.
Вернемся к нашему примеру формы из последнего видео, что, если вы хотите передать все данные из всей формы? Вы также не хотели обновлять JavaScript при изменении формы. jQuery упрощает это с помощью метода serialize (). Просто вызовите его в самом элементе формы:
$("#my-form").serialize();
Это будет просматривать всю форму и создавать строку запроса из каждого именованного ввода в форме. Затем вы можете использовать это как данные, которые вы пропустили, когда вы используете $ .post ().
$("#my-form").on("submit", function() ( $.post( "/", $("#my-form").serialize(), function(data, textStatus, jqXHR) ( console.log("success"); ) ); ));
См. Pen CtoEg Криса Койера (@chriscoyier) на CodePen