Friday, 4 May 2012

Giới thiệu AJAX

AJAX - Asynchronous JavaScript And XML

AJAX có chữ J - JavaScript, nên tất nhiên là nó dùng cho làm Web, những website hiện nay ứng dụng AJAX rất nhiều, trong CV xin việc thuộc lĩnh vực Web coding luôn yêu cầu sử dụng được AJAX.
Tại sao thì tại vì cách họat động của nó dưới đây:

Thông thường POST và GET là hai phương thức (method) truyền data, tạo ra các request từ người dùng (client side) tới máy chủ web (server side). Chúng họat động qua <form> HTML. Để gửi đi user phải ấn Submit và chờ server phản hồi (respond), trình duyệt sẽ load trang web và trả về kêt quả.

AJAX được để ra để giúp chúng ta không phải ấn submit và mất công chờ. Cụ thể hơn, nó cho phép dùng Javascript tạo request kết nối trực tiếp tới server và nhận data từ đó mà không phải tải lại trang.
Vậy, nếu phỏng vấn người ta hỏi AJAX là gì thì có thể trả lời là: AJAX là công nghệ (Nó là 1 công nghệ chứ không phải 1 ngôn ngữ lập trình) cho phép user gửi/nhận data từ server mà không cần load lại trang.
Câu này hôm đi phỏng vấn Citigo bị 1 phát rồi :D

Ứng dụng thực tiễn nhất, khi các bạn đăng ký tài khoản tại 1 trang web, vừa điền xong username nó báo tên user trùng hay không -> sử dụng AJAX.( làm thể nào? tự trả lời nhé).

Ưu điểm:
- Làm website họat động mượt mà hơn do nếu dùng form truyền thống, toàn bộ trang sẽ bị load lại mỗi lần nhận data ( khi người dùng ấn submit). Mặt khác web server cũng phải gửi cả các code HTML, CSS, JS toàn trang web -> tốc độ trao đổi chậm.
AJAX chỉ load 1 phần dữ liệu nhỏ trong website nên giảm thời gian hiển thị web, giảm các kết nối tới server.

- user tương tác với website đơn giản hơn, khỏi ấn submit liên tục. Trong lúc user chờ nhận data từ server qua AJAX có thể làm việc khác tại website đó.

Nhược điểm:
- Nếu user tắt Js thì AJAX cũng tịt.
- Nội dung AJAX tải về không được hiển thị trong trang chính (view source không thấy gì), nên các Search Engine nhưu Google, Yahoo.. cũng không tìm thấy nó.

Tạm thế đã, giới thiệu sơ qua để mọi người biết, thiếu thì các bạn bổ sung :D nếu các bạn có nhu cầu tớ sẽ viết tiếp phần 2 về cách sử dụng, AJAX dùng rất đơn giản vì nó có mô hình sẵn rồi, cứ lắp vào rồi chạy thôi :D.