AJAX Giới thiệu
- Trang trước Web Geolocation API
- Trang tiếp theo AJAX XMLHttp
AJAX là giấc mơ của các nhà phát triển vì bạn có thể:
- Cập nhật trang web mà không cần tải lại trang
- Yêu cầu dữ liệu từ máy chủ sau khi trang được tải
- Nhận dữ liệu từ máy chủ sau khi trang được tải
- Gửi dữ liệu lên máy chủ ở hậu trường
Giải thích ví dụ AJAX
Trang HTML
<!DOCTYPE html> <html> <body> <div id="demo"> <h2>Giữ AJAX thay đổi đoạn văn này</h2> <button type="button" onclick="loadDoc()">Thay đổi văn bản</button> </div> </body> </html>
Trang HTML này chứa một <div> và một <button>.
<div> Để hiển thị thông tin từ máy chủ.
<button> Gọi hàm (khi nó được nhấn).
Chức năng này từ máy chủ web yêu cầu dữ liệu và hiển thị nó:
Function loadDoc() function loadDoc() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.responseText; } }; xhttp.open("GET", "ajax_info.txt", true); xhttp.send(); }
Điều gì là AJAX?
AJAX = Asynchronous JvaScript And XML.
AJAX không phải là ngôn ngữ lập trình.
AJAX chỉ là sự kết hợp của:
- Đối tượng XMLHttpRequest tích hợp sẵn của trình duyệt (đặt yêu cầu dữ liệu từ máy chủ web)
- JavaScript và HTML DOM (hiển thị hoặc sử dụng dữ liệu)
Ajax là một tên gây hiểu lầm. Ứng dụng Ajax có thể sử dụng XML để truyền dữ liệu, nhưng việc truyền dữ liệu dưới dạng văn bản thuần hoặc JSON cũng rất phổ biến.
Ajax cho phép cập nhật trang web một cách đồng bộ bằng cách trao đổi dữ liệu với máy chủ web phía sau cảnh. Điều này có nghĩa là có thể cập nhật phần của trang web mà không cần tải lại toàn bộ trang.
Cách hoạt động của AJAX

- Xảy ra một sự kiện trong trang web (định dạng trang, nhấn nút)
- Tạo đối tượng XMLHttpRequest bởi JavaScript
- Đối tượng XMLHttpRequest gửi yêu cầu đến máy chủ web
- Máy chủ xử lý yêu cầu
- Máy chủ gửi phản hồi trở lại trang web
- Đọc phản hồi bởi JavaScript
- Thực hiện hành động đúng đắn bởi JavaScript (ví dụ: cập nhật trang)
- Trang trước Web Geolocation API
- Trang tiếp theo AJAX XMLHttp