Ejemplo de AJAX con Base de Datos
- Página anterior ASP AJAX
- Página siguiente Aplicaciones AJAX
AJAX se puede utilizar para comunicaciones interactivas con la base de datos.
Ejemplo de AJAX con Base de Datos
El siguiente ejemplo muestra cómo una página web puede leer información de una base de datos utilizando AJAX:
Ejemplo
Ejemplo explicativo - función showCustomer()
Al seleccionar un cliente en la lista desplegable superior, se ejecuta la función "showCustomer()". Esta función es llamada onchange
Evento desencadenado:
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(); }
La función showCustomer() realiza lo siguiente:
- Revisar si se ha seleccionado un cliente
- Crear un objeto XMLHttpRequest
- Crear una función que se ejecute cuando el servidor esté listo para responder
- Enviar una solicitud a un archivo en el servidor
- Tenga en cuenta que el parámetro q se agrega a la URL (con contenido de lista desplegable)
Página de servidor AJAX
La página de servidor llamada "getcustomer.asp" es la que es llamada por el JavaScript anterior.
Es fácil reescribir este archivo de servidor en PHP u otro lenguaje de servidor.
Ver el ejemplo correspondiente en PHP。
El código fuente en "getcustomer.asp" realiza consultas basadas en bases de datos y devuelve los resultados en una tabla 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("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></tr>") next rs.MoveNext loop response.write("</table>") %>
- Página anterior ASP AJAX
- Página siguiente Aplicaciones AJAX