Ajax là gì

Viết bởi: Nguyễn Duy Tuấn , 1 năm trước

Đây là một câu hỏi khá thường xuyên cho người mới bắt đầu học Javascript. Nhiều người hay nhầm lẫn Ajax là một ngôn ngữ lập trình mới hay một công nghệ thuộc về lập trỉnh trên server. Tuy nhiên trên thực tết thì Ajax chỉ đơn thuần là Javascript và nó không quá phức tạp như nhiều người nghĩ. Trong bài viết này tôi sẽ giải thích về Ajax theo một cách đơn giản nhất và bạn không cần phải viết bất kỳ một đoạn code nào.

Tại Sao Sử Dụng Ajax

Sử dụng Ajax sẽ giúp tối ưu hóa trải nghiệm của người dùng. Lấy một ví dụ như sau: khi một người dùng viết một nhận xét trên bài viết đăng trên trang Facebook. Sau khi người dùng gửi nhận xét thành công trang Facebook mà người đó đang truy cập cần phải được cập nhật để hiển thị nhận xét vừa mới được tạo ra này. Vấn đề đặt ra ở đây là nếu tải lại toàn bộ trang Face mà người dùng đang truy cập thì sẽ không hiệu quả do tất cả những gì chúng ta muốn là hiển thị nhận xét mới được tạo ra.

Ajax được tạo ra để giải quyết tình huống này, thay vì tải lại toàn bộ trang trình duyệt sẽ chỉ cập nhận những phần được thay đổi để tiết kiệm thời gian chờ đợi một lượng thông tin lớn (và đa số lặp lại những gì đang được hiển thị) gửi về từ máy chủ. Trong phần tiếp theo đây chúng ta sẽ phân tích hoạt động của Ajax.

Ajax Hoạt Động Như Thế Nào

Quá trình hoạt động của Ajax diễn ra ở 2 giai đoạn:

  • Client (thường là trình duyệt) sẽ gửi một request theo dạng bất đồng bộ (Asynchronous) tới server. Được gọi là bất đồng bộ là bởi vì trang web trên trình duyệt vẫn duy trì hoạt động như bình thường cho tới khi
  • Server nhận được request từ phía client và trả về kết quả cho client. Lúc này trình duyệt sẽ cập nhật nội dung trang web dựa trên kết quả trả về

Như vậy bạn có thể thấy được toàn bộ quá trình hoạt động của Ajax không làm gián đoạn sự hiển thị hay tương tác của trang web vào trước và trong thời gian trình duyệt gửi Ajax request tới server. Chính tính năng này sẽ giúp tăng trải nghiệm của người dùng và đồng thời tối ưu hóa tài nguyên trên server.

JavaScript Ajax

Thêm Bình Luận: