Esempio di database AJAX
- Pagina precedente AJAX ASP
- Pagina successiva Riferimento rapido ASP
AJAX può essere utilizzato per comunicare con un database.
Esempio di database AJAX
Esempio: come una pagina web utilizza AJAX per leggere informazioni da un database:
Esempio pratico - Pagina HTML
Quando l'utente seleziona un cliente dall'elenco a discesa qui sopra, viene eseguita la funzione chiamata "showCustomer()". Questa funzione viene attivata dall'evento "onchange":
<!DOCTYPE html> <html> <head> <script> function showCustomer(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) // Codice per IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else // Codice per 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="">Seleziona un cliente:</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">Le informazioni del cliente verranno elencate qui...</div> </body> </html>
Spiegazione del codice sorgente:
Se non è stato selezionato alcun cliente (str.length è uguale a 0), la funzione svuota il segnaposto txtHint e poi esce dalla funzione.
Se è stato selezionato un cliente, la funzione showCustomer() esegue i seguenti passaggi:
- Creare un oggetto XMLHttpRequest
- Creare una funzione che viene eseguita quando il server è pronto
- Inviare una richiesta al file sul server
- Attenzione ai parametri aggiunti alla fine dell'URL (q) (che contiene il contenuto della lista a discesa)
File ASP
La pagina server chiamata "getcustomer.asp" è un file ASP.
Il codice sorgente di "getcustomer.asp" esegue una query sul database una volta e poi restituisce i risultati in una tabella 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("<td>" & x.value & "</td></tr>") next rs.MoveNext loop response.write("</table>") %>
- Pagina precedente AJAX ASP
- Pagina successiva Riferimento rapido ASP