Contoh Panggunaan Database AJAX
- %> Halaman Sebelumnya
- Halaman Berikutnya Rujukan Pantas ASP
AJAX dapat digunakan untuk berkomunikasi dengan database.
Contoh Panggunaan Database AJAX
Contoh di bawah ini menunjukkan bagaimana halaman web dapat membaca informasi dari database melalui AJAX:
Contoh - Halaman HTML
Saat pengguna memilih pelanggan di daftar pilihan di atas, fungsi "showCustomer()" akan dijalankan. Fungsi ini diaktifkan oleh peristiwa "onchange":
<!DOCTYPE html> <html> <head> <script> function showCustomer(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) // Bagi IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else // Bagi IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getcustomer.asp?q="+str,true); xmlhttp.send(); } </script> </head <body> <form> <select name="customers" onchange="showCustomer(this.value)"> <option value="">Pilih pelanggan:</option> <option value="ALFKI">Alfreds Futterkiste</option> <option value="NORTS ">North/South</option> <option value="WOLZA">Wolski Zajazd</option> </select> </form> <br> <div id="txtHint">客户信息将在此处列出...</div> </body> </html>
源代码解释:
如果没有选择客户(str.length 等于 0),那么该函数会清空 txtHint 占位符,然后退出该函数。
如果已选择一位客户,则 showCustomer() 函数会执行以下步骤:
- 创建 XMLHttpRequest 对象
- 创建在服务器响应就绪时执行的函数
- 向服务器上的文件发送请求
- 请注意添加到 URL 末端的参数(q)(包含下拉列表的内容)
ASP 文件
上面这段 JavaScript 调用的服务器页面是名为 "getcustomer.asp" 的 ASP 文件。
"getcustomer.asp" 中的源代码会运行一次针对数据库的查询,然后在 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("/db/northwind.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("" & x.value & " ") response.write("<td>" & x.value & "</td></tr>") next rs.MoveNext loop response.write("</table>")
- %> Halaman Sebelumnya
- Halaman Berikutnya Rujukan Pantas ASP