Bạn cần phải biết rằng đối tượng XMLHttpReqrest là chìa khóa then chốt của kỹ thuật AJAX. Tất cả trình duyệt Web hiện đại đều hỗ trợ đối tượng XMLHttpRequest.
Đối tượng XMLHttpRequest được sử dụng để trao đổi dữ liệu với một Server ở Background. Tức là với đối tượng XMLHttpRequest này, bạn có thể cập nhật các phần nhỏ của trang mà không cần tải lại toàn bộ trang.
Đối tượng XMLHttpRequest (viết tắt là XHR) là một API có thể được sử dụng bởi JavaScript, Jscript, VBScript và một số ngôn ngữ phát triển ứng dụng Web khác để truyền tải và thao tác dữ liệu XML tới và từ một WebServer bởi sử dụng HTTP bằng cách thiết lập một kênh kết nối độc lập giữa Client-Side và Server-Side.
Dữ liệu được trả về từ các lời gọi tới đối tượng XMLHttpRequest sẽ thường được cung cấp bởi Database ở Backend. Ngoài định dạng XML, đối tượng XMLHttpRequest cong được sử dụng để lấy dữ liệu trong các định dạng khác, chẳng hạn như JSON hay định dạng thuần text.
Xin nhắc lại lần nữa là tất cả trình duyệt hiện đại (Chrome, IE7+, FireFox, Safari và Opera) đều đã có sẵn và hỗ trợ đối tượng XMLHttpRequest.
Dưới đây là cú pháp để tạo đối tượng XMLHttpRequest trong AJAX:
Ten_bien = new XMLHttpRequest();
Với các phiên bản IE cũ hơn (chẳng hạn như IE5 và IE6) sử dụng đối tượng ActiveXObject:
Ten_bien = new ActiveXObject("Microsoft.XMLHTTP");
Trong khi lập trình phát triển các ứng dụng Web, để bao tất cả các trường hợp và để xử lý mọi trình duyệt như trong trường hợp này (để bao cả IE5 và IE6), bạn cần kiểm tra xem trình duyệt có hỗ trợ đối tượng XMLHttpRequest không. Nếu có, bạn tạo một đối tượng XMLHttpRequest; còn nếu không, bạn tạo một đối tượng ActiveXObject:
var xhttp;
if (window.XMLHttpRequest){
xhttp= new XMLHttpRequest();
} else {
//tao doi tuong ActiveXObject neu trinh duyet khong ho tro XMLHttpRequest
xhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
Phương thức open( method, URL )
open( phuong_thuc, URL, async )
open( phuong_thuc, URL, async, ten_nguoi_dung )
open( phuong_thuc, URL, async, ten_nguoi_dung, mat_khau )
Các form phương thức open() này được sử dụng để xác định phương thức (tham số phuong_thuc), đường dẫn URL, và một số thuộc tính tùy ý khác cho một Request.
Trong đó:
setRequestHeader( header, value )
Thêm một cặp header/value tới trường HTTP Header để gửi đi.
readyStateThuộc tính này định nghĩa trạng thái hiện tại của đối tượng XMLHttpRequest.
Bảng dưới đây liệt kê các giá trị cho thuộc tính readyState:
Trạng thái | Miêu tả |
---|---|
0 | Requet chưa được khởi tạo |
1 | Request đã được thiết lập. |
2 | Request đã được gửi. |
3 | Request đang được xử lý. |
4 | Kết thúc Request. |
Unpublished comment
Viết câu trả lời