1
AJAX
GV: Nguyễn Bá Phúc
1. Giới thiệu
1.1 Tổng quan về mô hình ứng dụng Web
Kiến trúc của ng dng Web
Mt s đặc điểm:
* X lý h khách (Client):
+ Ưu điểm:
- Giao diện đẹp
- Kh năng tương tác cao
2
- Gim ti cho Server
- Tc đ x lý nhanh
+ Hn chế:
- Khó phát trin
- Đòi hi phn mm h tr
- Kh năng tương thích với trình duyệt không cao.
* X lý h phc v (Server)
+ Ưu điểm:
- Phát triển đơn gin
- Triển khai và bảo trì dễ dàng
- Chia s được d liu
+ Khuyết đim
- Giao diện người dùng thô sơ
- Tính tương tác kém
1.2 Giới thiệu về AJAX
Viết tt ca t Asynchronous Javascript And XML
là một nhóm các công ngh phát triển web được s dụng để tạo các ứng dng web động hay các
ng dng RIA (rich Internet application)
Mô hình truyn thng tương tác gia Client-Server
3
Mô hình AJAX trong tương tác gia Client-Server
Ví d:
2. Kỹ thuật lập trình AJAX
2.1. Xử lý hệ khách (Client)
2.1.1. Đối tượng XMLHTTPRequest
Đối tưng XMLHttpRequest để trao đi d liu mt cách không đng b vi h phc v (Server).
4
Mô hình hoạt động ca AJAX
Khi tạo đối tưng nhn/gi các yêu cầu d liu xml thuc đi tưng XMLHTTPRequest:
var xmlhttp
Nếu s dụng trình duyệt Web IE5, IE6:
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
Nếu s dụng trình duyệt Web IE7 tr lên, Firefox, Chrome, Opera, Safari
var xmlhttp = new XMLHTTPRequest();
2.1.2. Các phương thức và thuộc tính của đối tưng XMLHTTPRequest
Thuộc tính
Mô tả
onreadystatechange
Xác định sự kiện (hàm) sẽ được gọi khi thuộc tính readState của đối tượng thay
đổi
readyState
Cho biết trạng thái của đối tượng request:
0 = Chưa khởi tạo (uninitialized)
1 = đang tải dữ liệu
5
2 = đã tải xong dữ liệu
3 = đang tương tác
4 = hoàn tất
responseText
Dữ liệu được trả về bởi server dưới dạng chuỗi text
responseXML
Dữ liệu được trả về bởi server dưới dạng đối tượng dữ liệu (XML, …)
status
trạng thái HTTP được trả về bởi server
statusText
Chuỗi trạng thái được trả về bởi server
Phương thức
Mô tả
abort()
Stops the current request Dừng gửi yêu cầu đến server
getAllResponseHeaders()
Trả về tất cả các tiêu đề (headers) dưới dạng chuỗi
getresponseHeader(x)
Trả về giá trị của tiêu đề (header) x dưới dạng chuỗi
open('method','URL','a')
specifies the HTTP method (for example, GET or POST), the target
URL, and whether the request should be handled asynchronously (If
yes, a='TRue'the default; if no, a='false'.)
xác định phương thức của HTTP (GET hoặc POST), URL là đường
dẫn gửi yêu cầu đến server (bất đồng bộ) (nếu a=’true’: mặc định)
send(content)
data gửi yêu cầu với tuỳ chọn POST
setRequestHeader('x','y')
Đặt tham số và giá trị x=y và gán nó vào tiêu đề và sẽ được gửi cùng
với yêu cầu.
2.2. Xử lý hệ phục vụ (Server)
Trong k thut AJAX, h phc v (server) giao din hin th thông thưng không có các th
<html>…</html> mà chỉ có chui XML
ASP.NET
using System;
using System.Data;