AJAX Database 实例
AJAX boleh digunakan untuk berkomunikasi interaktif dengan database.
AJAX Database 实例
Contoh di bawah ini memperlihatkan: bagaimana halaman web membaca informasi dari database melalui AJAX:
Contoh
Contoh penjelasan - fungsi showCustomer()
Ketika pengguna memilih pelanggan di daftar turun di atas, lakukan fungsi "showCustomer()" yang bernama. Fungsi ini dipanggil onchange
Tindakan yang diaktifkan:
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(); }
Fungsi showCustomer() melaksanakan hal berikut:
- Memeriksa apakah pelanggan dipilih
- Membuat objek XMLHttpRequest
- Membuat fungsi yang akan dijalankan saat server siap merespon
- Mengirim permintaan ke berkas di server
- Perhatikan bahwa parameter q ditambahkan ke URL (dengan konten daftar turun)
Laman halaman server AJAX
Laman halaman server yang dipanggil oleh JavaScript di atas adalah berikut: "getcustomer.asp"
Dapat ditulis dengan mudah menggunakan PHP atau bahasa server lainnya
Penggunaan kod asal di "getcustomer.asp" untuk menjalankan query berorientasi database dan mengembalikan hasil di tabel HTML:
<% response.expires=-1 sql="SELECT * FROM CUSTOMERS WHERE CUSTOMERID=" sql=sql & ' 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>") next rs.MoveNext loop response.write("</table>") %>