AJAX Database Voorbeeld
- Vorige pagina AJAX ASP
- Volgende pagina AJAX-applicatie
AJAX kan worden gebruikt voor interactieve communicatie met een database.
AJAX Database Voorbeeld
Hieronder wordt een voorbeeld gegeven van hoe een webpagina informatie uit een database leest via AJAX:
Voorbeeld
Voorbeeld uitleg - functie showCustomer()
Wanneer de gebruiker een klant selecteert uit de bovenstaande dropdown-lijst, voert de functie "showCustomer()" uit. Deze functie wordt onchange
event trigger:
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(); }
De functie showCustomer() doet het volgende:
- Controleer of de klant is geselecteerd
- Maak een XMLHttpRequest-object aan
- Maak een functie aan die wordt uitgevoerd wanneer de server bereid is om te reageren
- Verzend een verzoek naar een bestand op de server
- Let op, parameter q wordt toegevoegd aan de URL (met inhoud van een dropdown-lijst)
AJAX-serverpagina
De serverpagina die door het bovenstaande JavaScript wordt aangeroepen, is de ASP-bestand genaamd "getcustomer.asp".
Het is gemakkelijk om dit serverbestand met PHP of andere servertaal opnieuw te schrijven.
Zie het bijbehorende PHP voorbeeld。
"getcustomer.asp" 中 van de broncode een database-georienteerde query uitvoert en de resultaten in een HTML-tabel retourneert:
<% 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>") next rs.MoveNext loop response.write("</table>") %>
- Vorige pagina AJAX ASP
- Volgende pagina AJAX-applicatie