Tutorial de PHP Ajax con ejemplo
ยฟQuรฉ es Ajax?
AJAX La forma completa es asincrรณnica JavaScript & XML. Es una tecnologรญa que reduce las interacciones entre el servidor y el cliente. Lo hace actualizando solo una parte de una pรกgina web en lugar de la pรกgina completa. Las interacciones asincrรณnicas se inician mediante JavaScript.El propรณsito de AJAX es intercambiar pequeรฑas cantidades de datos con el servidor sin actualizar la pรกgina.
JavaScript es un lenguaje de programaciรณn del lado del cliente. Se ejecuta en el lado del cliente mediante los navegadores web que admiten JavaGuiรณn.JavaEl cรณdigo de script solo funciona en navegadores que tienen JavaScript habilitado.
XML es el acrรณnimo de lenguaje de marcado extensible. Se utiliza para codificar mensajes en formatos legibles tanto para humanos como para mรกquinas. Es como HTML, pero te permite crear tus propias etiquetas personalizadas. Para obtener mรกs detalles sobre XML, consulta el artรญculo sobre XML
ยฟPor quรฉ utilizar AJAX?
- Permite desarrollar aplicaciones web interactivas enriquecidas al igual que las aplicaciones de escritorio.
- La validaciรณn se puede realizar cuando el usuario completa un formulario sin enviarlo. Esto se puede lograr mediante la finalizaciรณn automรกtica. Las palabras que el usuario escribe se envรญan al servidor para su procesamiento. El servidor responde con palabras clave que coinciden con lo que ingresรณ el usuario.
- Se puede utilizar para rellenar un cuadro desplegable en funciรณn del valor de otro cuadro desplegable.
- Los datos se pueden recuperar del servidor y solo se actualiza una determinada parte de una pรกgina sin cargar toda la pรกgina. Esto es muy รบtil para partes de pรกginas web que cargan cosas como
- Tweets
- Comentarios
- Usuarios que visitan el sitio, etc.
Cรณmo crear una aplicaciรณn PHP Ajax
Crearemos una aplicaciรณn sencilla que permita a los usuarios buscar marcos PHP MVC populares.
Nuestra aplicaciรณn tendrรก un cuadro de texto en el que los usuarios escribirรกn los nombres del marco.
Luego usaremos mvc AJAX para buscar una coincidencia y luego mostraremos el nombre completo del marco justo debajo del formulario de bรบsqueda.
Paso 1) Crear la pรกgina de รญndice
index.php
<html>
<head>
<title>PHP MVC Frameworks - Search Engine</title>
<script type="text/javascript" src="auto_complete.js"></script>
</head>
<body>
<h2>PHP MVC Frameworks - Search Engine</h2>
<p><b>Type the first letter of the PHP MVC Framework</b></p>
<form method="POST" action="index.php">
<p><input type="text" size="40" id="txtHint" onkeyup="showName(this.value)"></p>
</form>
<p>Matches: <span id="txtName"></span></p>
</body>
</html>
AQUร,
- โonkeyup=โshowName(this.value)โโ ejecuta el JavaFunciรณn de script que muestra el nombre cada vez que se escribe una tecla en el cuadro de texto. Esta funciรณn se llama autocompletar.
Paso 2) Crear la pรกgina de marcos
marcos.php
<?php
$frameworks = array("CodeIgniter","Zend Framework","Cake PHP","Kohana") ;
$name = $_GET["name"];
if (strlen($name) > 0) {
$match = "";
for ($i = 0; $i < count($frameworks); $i++) {
if (strtolower($name) == strtolower(substr($frameworks[$i], 0, strlen($name)))) {
if ($match == "") {
$match = $frameworks[$i];
} else {
$match = $match . " , " . $frameworks[$i];
}
}
}
}
echo ($match == "") ? 'no match found' : $match;
?>
Paso 3) Crear el script JS
auto_completar.js
function showName(str){
if (str.length == 0){ //exit function if nothing has been typed in the textbox
document.getElementById("txtName").innerHTML=""; //clear previous results
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("txtName").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","frameworks.php?name="+str,true);
xmlhttp.send();
}
AQUร,
- โif (str.length == 0)โ comprueba la longitud de la cadena. Si es 0, entonces el resto del script no se ejecuta.
- โif (window.XMLHttpRequest)โฆโ Las versiones 5 y 6 de Internet Explorer utilizan ActiveXObject para la implementaciรณn de AJAX. Otras versiones y navegadores como Chrome, FireFox Utilice XMLHttpRequest. Este cรณdigo garantizarรก que nuestra aplicaciรณn funcione tanto en IE 5 y 6 como en otras versiones superiores de IE y navegadores.
- โxmlhttp.onreadystatechange=functionโฆโ comprueba si la interacciรณn AJAX estรก completa y el estado es 200 y luego actualiza el intervalo txtName con los resultados devueltos.
Paso 4) Probar nuestra aplicaciรณn PHP Ajax
Suponiendo que haya guardado el archivo index.php en phuuts/ajax, busque la URL http://localhost/phptuts/ajax/index.php
Escriba la letra C en el cuadro de texto. Obtendrรก los siguientes resultados.
El ejemplo anterior demuestra el concepto de AJAX y cรณmo puede ayudarnos a crear aplicaciones de interacciรณn enriquecidas.
Resumen
- AJAX es el acrรณnimo de Asynchronous JavaScript y XML
- AJAX es una tecnologรญa utilizada para crear aplicaciones de interacciรณn enriquecidas que reducen las interacciones entre el cliente y el servidor actualizando solo partes de la pรกgina web.
- Las versiones 5 y 6 de Internet Explorer utilizan ActiveXObject para implementar operaciones AJAX.
- Internet Explorer versiรณn 7 y superior y navegadores Chrome, Firefox, Operay Safari utilizan XMLHttpRequest.


