Derniers tutoriels de développement web
 

AJAX Exemple de base de données


AJAX peut être utilisé pour une communication interactive avec une base de données.


AJAX Exemple de base de données

L'exemple suivant démontrera comment une page Web peut récupérer des informations à partir d'une base de données avec AJAX:

Exemple


Customer info will be listed here...

Essayez vous - même »


Exemple Explained - La page HTML

Lorsqu'un utilisateur sélectionne un client dans la liste déroulante ci - dessus, une fonction appelée « showCustomer() » est exécutée. La fonction est déclenchée par le "onchange" l' événement:

<!DOCTYPE html>
<html>
<head>
<script>
function showCustomer(str)
{
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.asp?q="+str,true);
xmlhttp.send();
}
</script>
</head
<body>

<form>
<select name="customers" onchange="showCustomer(this.value)">
<option value="">Select a customer:</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">Customer info will be listed here...</div>

</body>
</html>

explication du code source:

Si aucun client est sélectionné (str.length==0) , la fonction efface le contenu de l'espace réservé txtHint et quitte la fonction.

Si un client est sélectionné, le showCustomer() fonction exécute ce qui suit:

  • Créer un objet XMLHttpRequest
  • Créer la fonction à exécuter lorsque la réponse du serveur est prêt
  • Envoyez la demande hors d'un fichier sur le serveur
  • Notez qu'un paramètre (q) est ajouté à l'URL (avec le contenu de la liste déroulante)

Le fichier ASP

La page sur le serveur appelé par le JavaScript est au- dessus d' un fichier ASP appelé "getcustomer.asp" .

Le code source dans "getcustomer.asp" exécute une requête sur une base de données, et renvoie le résultat dans un tableau 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("/ datafolder /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>")
%>