AJAX part 14
Số trang: 3
Loại file: pdf
Dung lượng: 142.94 KB
Lượt xem: 7
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài 12: Đối tượng XMLHttpRequest - Phân tích các đặc tính - Sự tương tác Sự tương tác Ta xét một ví dụ để tìm hiểu các tương tác của Ajax. Hình sau cho thấy mô hình tương tác chuẩn trong một ứng dụng Ajax.
Nội dung trích xuất từ tài liệu:
AJAX part 14Bài 12: Đối tượng XMLHttpRequest - Phân tích các đặc tính - Sự tương tácSự tương tácTa xét một ví dụ để tìm hiểu các tương tác của Ajax. Hình sau cho thấy mô hình tươngtác chuẩn trong một ứng dụng Ajax.Không giống như các cách tiếp cận kiểu request/response thông thường trong các chuẩnWeb client, một ứng dụng Ajax có những khác biệt, sau đây là mô tả quá trình tương tác:1. Một event client-side gây ra một sự kiện - Ajax event. Bất kỳ một tác động nào cũngcó thể gây ra Ajax event, từ một sự kiện onchange đơn giản cho đến một số tác động củangười dùng. Ví dụ với đoạn mã sau:PHP Code:2. Một thể hiện của XMLHttpRequest được tạo ra. Dùng phương thức open(), tạo lời gọihàm - địa chỉ URL được thiết lập cùng với phương thức HTTP yêu cầu, thông thường làGET hay POST. Request được tạo ra qua việc gọi phương thức send(). Đoạn mã nguồnsau thể hiện điều đó:Code:var xmlHttp;function validateEmail() { var email = document.getElementById(email); var url = validate?email= + escape(email.value); if (window.ActiveXObject) { xmlHttp = new ActiveXObject(Microsoft.XMLHTTP); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } xmlHttp.open(GET, url); xmlHttp.onreadystatechange = callback; xmlHttp.send(null);}3. Một request được tạo và gửi đến server. Có thể là một lời gọi tới một servlet, một CGIscript, hay một công nghệ phía server nào đó tương tự như ASP.NET, JSP, hay PHP…4. Server xử lí các yêu cầu, chẳng hạn như truy cập cơ sở dữ liệu hay một tác vụ hệ thốngnào đấy.5. Response được trả về cho trình duyệt. Trường Content-Type được thiết lập ở dạngtext/xml; XMLHttpRequest chỉ có thể xử lí kết quả dạng text/html. Trong các thể hiệnphức tạp hơn, response khá rắc rối và bao gồm JavaScript, các thao tác trên đối tượngDOM, hoặc các công nghệ liên quan khác. Chú ý là cũng cần thiết lập header vì thế trìnhduyệt sẽ không lưu kết quả một cách cục bộ. Ta sẽ làm như sau:Code:response.setHeader(Cache-Control, no-cache);response.setHeader(Pragma, no-cache);6. Trong ví dụ sau, cấu hình XMLHttpRequest để gọi hàm callback() khi kết quả xử líđược trả về. Hàm này kiểm tra thuộc tính readyState trên đối tượng XMLHttpRequest vàsau đó xem xét mã trạng thái trả về từ server. Mọi thứ hoàn toàn bình thường, hàmcallback() có thể làm nhiều việc trên phía client. Một phương thức callback thường códạng sau:PHP Code:function callback() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //do something interesting here } }}Có một số khác biệt với mô hình request/response thông thường nhưng không quá lạ lẫmđối với các lập trình viên Web. Rõ ràng, phải xem xét thêm về việc tạo và thiết lập mộtđối tượng XMLHttpRequest và sau đó (hàm) callback sẽ kiểm tra các trạng thái. Thườngthì các lời gọi chuẩn này được đóng gói vào một thư viện để dùng trong ứng dụng, haynói cách khác là dùng một thư viện có sẵn để thực thi Ajax cho ứng dụng Web (có rấtnhiều thư viện như thế, ta sẽ xét trong các phần sau). Ajax là vấn đề tuy còn mới mẻ,nhưng đã có một lượng đáng kể các thư viện và ứng dụng mã nguồn mở được công bố.Hầu hết các framework và toolkit Ajax trên các trang Web đều dùng các kĩ thuật cơ bảnvà trừu tượng hóa các trình duyệt, và thêm vào một số component giao diện người dùng(UI). Một số là các framework thuần client; còn lại làm việc trên server. Nhiềuframework trong số này mới được bắt đầu xây dựng, nhưng chúng liên tục có các phiênbản và có thên các thư viện mới. Một số giải pháp để thực thi Ajax là các thư việnAjax.NET, Atlas, libXmlRequest, RSLite, sarissa, JavaScript Object Notation (JSON),JSRS, Direct Web Remoting (DWR), và Ruby on Rails…Bài sau chúng ta sẽ phân tích Các phương thức GET và POST.
Nội dung trích xuất từ tài liệu:
AJAX part 14Bài 12: Đối tượng XMLHttpRequest - Phân tích các đặc tính - Sự tương tácSự tương tácTa xét một ví dụ để tìm hiểu các tương tác của Ajax. Hình sau cho thấy mô hình tươngtác chuẩn trong một ứng dụng Ajax.Không giống như các cách tiếp cận kiểu request/response thông thường trong các chuẩnWeb client, một ứng dụng Ajax có những khác biệt, sau đây là mô tả quá trình tương tác:1. Một event client-side gây ra một sự kiện - Ajax event. Bất kỳ một tác động nào cũngcó thể gây ra Ajax event, từ một sự kiện onchange đơn giản cho đến một số tác động củangười dùng. Ví dụ với đoạn mã sau:PHP Code:2. Một thể hiện của XMLHttpRequest được tạo ra. Dùng phương thức open(), tạo lời gọihàm - địa chỉ URL được thiết lập cùng với phương thức HTTP yêu cầu, thông thường làGET hay POST. Request được tạo ra qua việc gọi phương thức send(). Đoạn mã nguồnsau thể hiện điều đó:Code:var xmlHttp;function validateEmail() { var email = document.getElementById(email); var url = validate?email= + escape(email.value); if (window.ActiveXObject) { xmlHttp = new ActiveXObject(Microsoft.XMLHTTP); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } xmlHttp.open(GET, url); xmlHttp.onreadystatechange = callback; xmlHttp.send(null);}3. Một request được tạo và gửi đến server. Có thể là một lời gọi tới một servlet, một CGIscript, hay một công nghệ phía server nào đó tương tự như ASP.NET, JSP, hay PHP…4. Server xử lí các yêu cầu, chẳng hạn như truy cập cơ sở dữ liệu hay một tác vụ hệ thốngnào đấy.5. Response được trả về cho trình duyệt. Trường Content-Type được thiết lập ở dạngtext/xml; XMLHttpRequest chỉ có thể xử lí kết quả dạng text/html. Trong các thể hiệnphức tạp hơn, response khá rắc rối và bao gồm JavaScript, các thao tác trên đối tượngDOM, hoặc các công nghệ liên quan khác. Chú ý là cũng cần thiết lập header vì thế trìnhduyệt sẽ không lưu kết quả một cách cục bộ. Ta sẽ làm như sau:Code:response.setHeader(Cache-Control, no-cache);response.setHeader(Pragma, no-cache);6. Trong ví dụ sau, cấu hình XMLHttpRequest để gọi hàm callback() khi kết quả xử líđược trả về. Hàm này kiểm tra thuộc tính readyState trên đối tượng XMLHttpRequest vàsau đó xem xét mã trạng thái trả về từ server. Mọi thứ hoàn toàn bình thường, hàmcallback() có thể làm nhiều việc trên phía client. Một phương thức callback thường códạng sau:PHP Code:function callback() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //do something interesting here } }}Có một số khác biệt với mô hình request/response thông thường nhưng không quá lạ lẫmđối với các lập trình viên Web. Rõ ràng, phải xem xét thêm về việc tạo và thiết lập mộtđối tượng XMLHttpRequest và sau đó (hàm) callback sẽ kiểm tra các trạng thái. Thườngthì các lời gọi chuẩn này được đóng gói vào một thư viện để dùng trong ứng dụng, haynói cách khác là dùng một thư viện có sẵn để thực thi Ajax cho ứng dụng Web (có rấtnhiều thư viện như thế, ta sẽ xét trong các phần sau). Ajax là vấn đề tuy còn mới mẻ,nhưng đã có một lượng đáng kể các thư viện và ứng dụng mã nguồn mở được công bố.Hầu hết các framework và toolkit Ajax trên các trang Web đều dùng các kĩ thuật cơ bảnvà trừu tượng hóa các trình duyệt, và thêm vào một số component giao diện người dùng(UI). Một số là các framework thuần client; còn lại làm việc trên server. Nhiềuframework trong số này mới được bắt đầu xây dựng, nhưng chúng liên tục có các phiênbản và có thên các thư viện mới. Một số giải pháp để thực thi Ajax là các thư việnAjax.NET, Atlas, libXmlRequest, RSLite, sarissa, JavaScript Object Notation (JSON),JSRS, Direct Web Remoting (DWR), và Ruby on Rails…Bài sau chúng ta sẽ phân tích Các phương thức GET và POST.
Tìm kiếm theo từ khóa liên quan:
máy tính mạng máy tính internet phần mềm ứng dụng lập trình dữ liệu AJAX part 14Gợi ý tài liệu liên quan:
-
Giáo án Tin học lớp 9 (Trọn bộ cả năm)
149 trang 246 0 0 -
47 trang 235 3 0
-
Ngân hàng câu hỏi trắc nghiệm môn mạng máy tính
99 trang 235 1 0 -
Đề cương chi tiết học phần Thiết kế và cài đặt mạng
3 trang 229 0 0 -
Bài giảng: Lịch sử phát triển hệ thống mạng
118 trang 227 0 0 -
Giáo trình Hệ thống mạng máy tính CCNA (Tập 4): Phần 2
102 trang 227 0 0 -
80 trang 197 0 0
-
Giáo trình Hệ thống mạng máy tính CCNA (Tập 4): Phần 1
122 trang 196 0 0 -
122 trang 191 0 0
-
Giáo trình môn học/mô đun: Mạng máy tính (Ngành/nghề: Quản trị mạng máy tính) - Phần 1
68 trang 183 0 0