Bạn đang sử dụng Gmail? hay Google Map? Bạn yêu thích tính năng của Google Suggest? hay ứng dụng web Ta-da List, Backpack , BaseCamp của 37Signals? hay các tính năng tiện dụng của Flickr?
Trên đây là một số các ứng dụng/dịch
vụ web nổi lên trong thời gian gần đây như là những ứng dụng không chỉ
giàu tính năng mà còn có tính chất "cách mạng" trong lịch sử phát triển
của các ứng dụng web. Điểm chung của các dịch vụ web này là gì? Câu trả
lời là những tính năng và cách thức nó tương tác với người dùng: rất
tiện lợi và nhanh chóng đến nỗi bạn gần như tưởng mình đang sử dụng một
phần mềm chứ không phải đang xem trang web.
Công nghệ đứng đằng sau các dịch vụ
này là AJAX, viết tắt của Ansynchronous JAvascript and XML
("ansynchronous" có nghĩa là "không đồng bộ" - lý do vì sao được giải
thích trong bài), hay Advanced JAvascripting and XML. Cái tên Ajax được
nhắc đến lần đầu tiên bởi Adaptive Path và nhanh chóng được chấp nhận
rộng rãi trong cộng đồng những người phát triển ứng dụng web và giờ đây
có lẽ là cái tên được nhắc đến nhiều nhất và được xem là một công nghệ
hứa hẹn sẽ mở ra thời kỳ mới của các ứng dụng web (mặt khác, cũng có
rất nhiều ý kiến trái ngược nhau về tên gọi này).
Vậy Ajax là gì? Vì sao nó làm được
những điều mà các công nghệ trước đây không thực hiện được? Cơ chế hoạt
động của nó? Nó có phức tạp không? Làm thế nào để ứng dụng nó cho các
sản phẩm của bạn? Ajax có điểm yếu nào không? và khi nào nên sử dụng
Ajax?
Demo :
http://tintonghop.be

Kỹ thuật ở đây thật giản dị như
chính AJAX! Khi bạn gõ từ cần tra vào sự kiện "onkeyup" được "bắt" và
kích họat hàm javascript "SQ". Đây là một hàm AJAX, gửi từ cần tra tới
máy chủ và nhận kết quả rồi gán vào DIV "txtInput".
<input name="keyword" onKeyUp="SQ(this.value)"
style="WIDTH:500px" txtInput="off">
function SQ(k) {
var url = ../Result.aspx?k="+k; -->Dữ liệu fill vào
if (window.XMLHttpRequest) { // Non-IE browsers
req = new XMLHttpRequest();
req.onreadystatechange
= processStateChange;
try {
req.open("GET", url, true);
} catch (e) {
alert(e);
}
req.send(null);
}
else if (window.ActiveXObject
) { // IE
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processStateChange;
req.open("GET", url, true);
req.send();
}
}
}
Việc gửi request và hiển thị kết quả bằng Ajax như thế nào xin các bạn tham khảo thêm ở bài viết: AJAX - The technology you CAN NOT miss!
Phía Server-side, khi nhận được request truy vấn bạn chỉ cần lục trong CSDL từ điển với câu SQL có dạng:
SELECT TOP 10 * FROM dictionary WHERE WORD LIKE 'key%'
Câu SQL sẽ lấy 10 từ giống với từ cần tra nhất trong từ điển. Việc của
bạn là format kết quả thành dạng XHTML và trả lại cho client.
Xem thêm : http://www.nguoitapviet.info/ajax/ , Wikipedia : Ajax