Instancia de base de datos AJAX
AJAX se puede utilizar para la comunicación dinámica con la base de datos.
Ejemplo de explicación de la función -showCustomer ()
Cuando el usuario selecciona un cliente en la lista desplegable anterior, se ejecutará una función llamada "showCustomer ()". Esta función es activada por el evento "onchange":
Función showCustomer (str) {var xmlhttp; if (str == "") {document. getElementById ("txtHint"). innerHTML = ""; return;} if (window. XMLHttpRequest) {// IE7 +, Firefox, Chrome, Opera, código de ejecución del navegador Safari xmlhttp = new XMLHttpRequest ();} else {// IE6, implementación del navegador IE5 Código xmlhttp = new ActiveXObject ("Microsoft.XMLHTTP");} xmlhttp. Onreadystatechange = function () {if (XMLHTTP. ReadyState == 4 && XMLHTTP. State == 200) {document. getElementById ("txtHint"). innerHTML = xmlhttp. responseText;}} xmlhttp. Abierto ("OBTENER", "/try/ajax/getcustomer.php?q=" + str, true); xmlhttp. Enviar();}
La función showCustomer () realiza las siguientes tareas:
- Compruebe si se ha seleccionado un cliente
- Crear objeto XMLHttpRequest
- Ejecute la función creada cuando el servidor responda de manera oportuna
- Envíe la solicitud al archivo en el servidor
- Tenga en cuenta que agregamos un parámetro q a la URL (con el contenido en el campo de entrada)
Página del servidor AJAX
La página del servidor llamada por JavaScript anterior es un archivo PHP llamado "getcustomer.php".
También es fácil escribir archivos de servidor en PHP o usar otros lenguajes de servidor.
El código fuente en "getcustomer.php" es responsable de consultar la base de datos y luego devolver el resultado en una tabla HTML:
<%
response.expires = -1
sql =“ SELECT *从客户所在客户==”
sql = sql&“'”&request.querystring(“ q”)&“'”
设置conn = Server.CreateObject(“ ADODB.Connection”)
conn.Provider =“ Microsoft.Jet.OLEDB.4.0”
conn.Open(Server.Mappath(“ / db / northwind.mdb”))
设置rs = Server.CreateObject(“ ADODB.recordset”)
rs.Open sql,conn
response.write(“ <table>”)
直到EOF为止
对于rs.Fields中的每个x
response.write(“ <tr> <td> <b>”&x.name&“ </ b> </ td>”)
response.write(“ <td>”&x.value&“ </ td> </ tr>”)
下一个
rs.MoveNext
循环
response.write(“ </ table>”)
%>