Mô hình cơ sở dữ liệu AJAX
- Trang trước AJAX ASP
- Trang tiếp theo Ứng dụng AJAX
AJAX có thể được sử dụng để giao tiếp tương tác với cơ sở dữ liệu.
Mô hình cơ sở dữ liệu AJAX
Dưới đây là ví dụ minh họa: Trang web cách đọc thông tin từ cơ sở dữ liệu qua AJAX:
Ví dụ
Giải thích ví dụ - hàm showCustomer()
Khi người dùng chọn một khách hàng trong danh sách thả xuống trên đây, hàm "showCustomer()" được thực hiện. Hàm này được onchange
Gặp sự kiện:
showCustomer
function showCustomer(str) { var xhttp; if (str == "") { document.getElementById("txtHint").innerHTML = ""; return; } xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("txtHint").innerHTML = this.responseText; } }; xhttp.open("GET", "getcustomer.asp?q=" + str, true); xhttp.send(); }
Hàm showCustomer() thực hiện như sau:
- Kiểm tra xem có chọn khách hàng hay không
- Tạo đối tượng XMLHttpRequest
- Tạo hàm sẽ được thực hiện khi máy chủ phản hồi
- Gửi yêu cầu đến tệp trên máy chủ
- Lưu ý rằng tham số q được thêm vào URL (đ附带 danh sách thả xuống)
Trang máy chủ AJAX
Trang máy chủ được gọi bởi JavaScript trên đây là tệp ASP có tên "getcustomer.asp".
Việc sử dụng PHP hoặc ngôn ngữ máy chủ khác giúp dễ dàng viết lại tệp máy chủ này.
Văn bản nguồn trong "getcustomer.asp" thực hiện truy vấn hướng database và hiển thị kết quả trong bảng HTML:
<% response.expires=-1 sql="SELECT * FROM CUSTOMERS WHERE CUSTOMERID=" sql=sql & "'" & request.querystring("q") & "'" set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("customers.mdb")) set rs=Server.CreateObject("ADODB.recordset") rs.Open sql,conn response.write("<table>") do until rs.EOF for each x in rs.Fields response.write("<tr><td><b>" & x.name & "</b></td>") response.write("<td>" & x.value & "</td></tr>") tiếp theo rs.MoveNext vòng lặp response.write("</table>") %>
- Trang trước AJAX ASP
- Trang tiếp theo Ứng dụng AJAX