Chúng tôi đã nói về GET trong video trước nhưng không quan tâm đến POST. Vì vậy, tôi nghĩ chúng tôi sẽ làm điều đó ở đây. Sự khác biệt lớn với POST là bạn gần như luôn cần chuyển dữ liệu cùng với yêu cầu. Dữ liệu đó có thể có nhiều dạng, nhưng nó có thể chỉ là một đối tượng mà bạn có xung quanh. Cú pháp cũng dễ dàng:
$.post( "/data/process.php", ( name: "Susan", job: "Writer" ) function(data, textStatus, jqXHR) ( // success ) );
Lưu ý tham số thứ hai là một đối tượng (về cơ bản là JSON) của dữ liệu. Dữ liệu đó có thể là bất kỳ thứ gì (kể cả một chuỗi). Bạn phải chuyển nó theo cách hữu ích cho chương trình phụ trợ của mình.
Quay lại ví dụ biểu mẫu của chúng tôi từ video trước, điều gì sẽ xảy ra nếu bạn muốn chuyển tất cả dữ liệu từ toàn bộ biểu mẫu? Bạn cũng không muốn phải cập nhật JavaScript khi biểu mẫu thay đổi. jQuery làm điều đó dễ dàng với phương thức serialize () của nó. Chỉ cần gọi nó trên chính phần tử biểu mẫu:
$("#my-form").serialize();
Điều đó sẽ xem xét toàn bộ biểu mẫu và tạo một chuỗi truy vấn từ mỗi đầu vào được đặt tên trong biểu mẫu. Sau đó, bạn có thể sử dụng dữ liệu đó làm dữ liệu đã qua khi bạn $ .post ().
$("#my-form").on("submit", function() ( $.post( "/", $("#my-form").serialize(), function(data, textStatus, jqXHR) ( console.log("success"); ) ); ));
Xem Pen CtoEg của Chris Coyier (@chriscoyier) trên CodePen