Người Viết : ViKiMi Editor

Trong nhiều lần khi xử lý với các phần lập trình Website, có quá nhiều xử lý được lặp lại. Hầu hết tất cả các lập trình viên đều tìm cách viết cho mình một xử lý chung. Những xử lý càng ngày càng phải tối ưu, đó mới là mục đích để tiến đến. Cũng như vậy, dù một Website được lập trình bởi một Lập trình viên, thì Lập trình viên đó cũng mong muốn xử dụng tối đa các phương án : Sử dụng nhiều ngôn ngữ để xây dựng Website, sử dụng nhiều nền tảng để lập trình, sử dụng nhiều Database…
Lập trình với nhiều ngôn ngữ, tận dụng hết khả năng xử lý của máy đó là điều luôn hướng đến. Trong nhiều giới thiệu đã sử dụng các khả năng lập trình với ngôn ngữ PHP hoặc các Framework được sử dụng PHP; Lần này sẽ giới thiệu thêm về cách làm việc Ajax với ngôn ngữ lập trình ASP.
Chúng ta sẽ thực hiện lấy thông tin từ Cơ Sở Dữ Liệu bằng ASP, tất cả các thông tin lấy về sẽ được Response lại giao diện người dùng. Thông tin phản hồi lại phía giao diện người dùng sẽ được xử lý AJAX thực hiện để giúp hiển thị lên giao diện người dùng. Các thông tin phản hồi sẽ được sắp xếp hiển thị trên giao diện người dùng.
Tất nhiên, các yêu cầu từ phía giao diện người dùng lên SERVER đều được thực hiện với AJAX. Chúng ta sẽ bắt đầu với các công việc như sau :
+ Thực hiện xử lý AJAX để yêu cầu tới SERVER như sau :
Tạo một hàm Javascript để xử lý gửi yêu cầu phía giao diện người dùng lên SERVER, hàm show_InfoItems() có nội dung cơ bản như bên dưới.
xmlhttp.open("GET", "getPrices.asp?items="+str_searchItems, true);
xmlhttp.send();
+ Tạo một form cho người dùng nhập thông tin mặt hàng cần tìm kiếm, sử dụng HTML như sau :
<p><b>BẠN HÃY NHẬP THÔNG TIN MẶT HÀNG MUỐN TÌM KIẾM</b></p>
<form>
<input type="text" id="txt_searchItems">
<button type="button" onclick="show_InfoItems()"> TÌM KIẾM </button>
</form>
<p>CÁC MẶT HÀNG PHÙ HỢP VỚI BẠN :</p>
<div id="content_InfoItems"></div>
Khi có thông tin tìm kiếm thấy tại Cơ Sở Dữ Liệu, SERVER sẽ phản hồi lại phía giao diện người dùng (/Browser). Thông tin tìm kiếm thấy sẽ được hiển thị lên giao diện người dùng tại khung chứa <DIV> có id=”content_InfoItems”
+ Sử dụng ngôn ngữ lập trình ASP để thực hiện truy vấn dữ liệu tìm kiếm trong Cơ sở dữ liệu như sau :
Thực hiện kết nối Cơ Sở Dữ Liệu với cầu nối ADODB
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/datafolder/storesMagic.mdb"))
Câu truy vấn Cơ Sở Dữ Liệu để tìm kiếm thông tin mặt hàng phù hợp
sql="SELECT * FROM ITEMS_TABLE WHERE name_Items="
sql=sql & "'" & request.querystring("items") & "'"
Để lấy dữ liệu truyền tới SERVER chúng ta dùng lệnh
request.querystring("items")
Tiếp đến, thực hiện truy vấn vào Cơ Sở Dữ Liệu lấy thông tin cần thiết. Khi các thông tin đã có thì sẽ phản hồi lại giao diện người dùng bằng lệnh response.write() ; Tại giao diện người dùng sẽ hiển thị thông tin phản hồi vào khung chứa <div> có id=”content_InfoItems”
MÃ CODE JAVASCRIPT
function show_InfoItems(){
/* Lấy giá trị văn bản nhập tại input có id txt_searchItems */
var str_searchItems = document.getElementById("txt_searchItems").value;
if (txt_searchItems.length == 0) {
document.getElementById("content_InfoItems").innerHTML = "";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("content_InfoItems").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "getPrices.asp?items="+str_searchItems, true);
xmlhttp.send();
}
}
MÃ CODE FILE ASP (getPrices.asp)
<%
response.expires=-1
sql="SELECT * FROM ITEMS_TABLE WHERE name_Items="
sql=sql & "'" & request.querystring("items") & "'"
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/datafolder/storesMagic.mdb"))
set rs=Server.CreateObject("ADODB.recordset")
rs.Open sql,conn
response.write("<table>")
'Hiển thị lần lượt : 1. TÊN MẶT HÀNG 2. THÀNH TIỀN 3. MÔ TẢ
'Hiển thị thông tin trong Table ITEMS_TABLE, các thông tin được thiết kế
'phục vụ ví dụ
response.write("<tr>")
for each item_go in rs.Fields
response.write("<th><b>" & item_go.name & "</b></th>")
next
response.write("</tr>")
do until rs.EOF
response.write("<tr>")
for each item_go in rs.Fields
response.write("<td><b>" & item_go.value & "</b></td>")
next
rs.MoveNext
response.write("</tr>")
loop
response.write("</table>")
rs.close
conn.close
%>
HÌNH ẢNH KẾT QUẢ THU ĐƯỢC NHƯ BÊN DƯỚI :
