TOC

This article is currently in the process of being translated into Vietnamese (~98% done).

AJAX:

The get() and post() methods

Phương thức get() và post() của jQuery cho phép bạn dễ dàng gửi HTTP request tới trang và có kết quả trả về. Khi bạn post một form thì thường là GET hoặc POST, tương ứng vơi phương thức get() và post() trong jQuery.

Hai phương thức rất giống nhau, chúng chỉ đơn giản thực hiện các yêu cầu khác biệt tới máy chủ. Chúng đều là phương thức tĩnh có nghĩa thay vì khởi tạo một đối tượng jQuery và làm việc với nó thì chỉ cần gọi get() và post() trực tiếp trên lớp jQuery, cả bằng hai cách viết jQuery.get() hay $.get(). Trong các dạng đơn giản thì get() và post() chỉ có một htam số, là URM mà bạn muốn gửi yêu cầu. Tuy nhiên, trong hầu hết các trường hợp bạn sẽ chỉ muốn làm gì đó có dữ liệu trả về, bạn có thể dùng hàm callback như là một tham số mà jQuery sẽ gọi nếu yêu cầu thành công.

Hãy kiểm tra. Trong chương trước, tôi tạo tệp HTML gọi là "content.html" và dùng phương thức jQuery load() để tải. Khi kiêm tra ví dụ sau, đảm bảo rằng bạn có một tệp gọi là "content.html" trong cùng một thư mục như tệp mà bạn có trong ví dụ. Nội dung không quan trọng chỉ cần viết bất kỳ cái gì cũng được. Đây là ví dụ của phương thức get():

<script type="text/javascript">
$(function()
{
	$.get("content.html", function(data, textStatus)
	{
		alert("Done, with the following status: " + textStatus + ". Here is the response: " + data);
	});
});
</script>

Tham số đầu tiên là URL, chỉ là content.html. Tham số thứ hai thú vị hơn. Đó là hàm callback, là lời gọi jQuery nếu thực hiện yêu cầu thành công. Tham số callback đầu tiên chỉ đơn giản là nội dung của trang yêu cầu, trong khi tham số thứ hai là trạng thái của yêu cầu.

Bạn có thể request một trang HTML đơn giản nhưng thông thường bạn dùng GET hay POST để truyền vào một số tham số sau đó được xử lý bởi server, có thể là code PHP, ASP hay ASP.NET.

<script type="text/javascript">
$(function()
{
	$.post("test_post.php",
	{
		name: "John Doe",
		age: "42"
	},
	function(data, textStatus)
	{
		alert("Response from server: " + data);
	});
});
</script>

Ví dụ này giống với ví dụ trên nhưng chúng ta gửi yêu cầu POST tới trang khác, trong ví dụ là trang PHP, và trong tham số thứ hai, chúng ta truyền tham số là ánh xạ của tham số POST. Ánh xạ được tọa nên bởi hai tham số, name và age. Nếu chúng ta dùng yêu cầu GET thay vì POST (yêu cầu POST không lấy tham số từ URL như GET), mã trên có thể tương ứng với yêu cầu một URL như trong trình duyệt:

test_get.php?name=John Doe&age=42

Script PHP sau đó có thể đọc tham số, xử lý chúng và trả về kết quả. Script trên server chỉ đơn giản lấy hai giá trị và tạo ra một chuỗi có dạng "<name> is <age> và trả về kết quả, bạn có thể thấy nếu bạn kiểm tra ví dụ trên.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!