Latest web development tutorials

AJAX Database

AJAX può essere utilizzato per comunicare dinamicamente con il database.


istanza di database AJAX

Il seguente esempio dimostrerà come una pagina web tramite la tecnologia AJAX per leggere le informazioni dal database: Selezionare un cliente nel seguente elenco a discesa:

esempio


Customer info will be listed here...

Prova »


Esempi spiegano - showCustomer function ()

Quando un utente nell'elenco a discesa sopra, selezionare un cliente, esegue chiama ") showCustomer (" la funzione. Questa funzione dall'evento "onchange" viene attivato:

function showCustomer(str)
{
var xmlhttp;
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for 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.html?q="+str,true);
xmlhttp.send();
}

Funzione showCustomer () esegue le seguenti operazioni:

  • Verificare di aver selezionato un cliente
  • Creare l'oggetto XMLHttpRequest
  • Creare la funzione eseguita quando la risposta del server è pronto
  • Invia la richiesta di un file sul server
  • Si prega di notare che abbiamo aggiunto un parametro q (con il contenuto del campo di immissione) all'URL

pagina del server AJAX

Pagina Server chiamato dal JavaScript di cui sopra è un file PHP chiamato "getcustomer.php".

Scritto in PHP file del server facilmente, o altra lingua del server. Vedere l'esempio corrispondente scritto in PHP .

"Getcustomer.php" codice sorgente responsabile per la query di database, quindi restituisce i risultati in formato 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>")
%>