English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este capítulo, mostraremos cómo enviar solicitudes AJAX a archivos PHP y cómo recuperar el contenido de los archivos PHP.
El siguiente ejemplo muestra cómo la página web se comunica con el servidor de red y recupera el contenido del archivo PHP:
En el ejemplo superior, el evento fetchDoc() ejecuta una función onclick.
Este es el código HTML:
<button type="button" onclick="fetchDoc()">Fetch Content</button> <div id="output"></div> <script> function fetchDoc() { var httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { document.getElementById("output").innerHTML = this.responseText; } }; httpRequest.open("GET", "ajax_time.php", true); httpRequest.send(); } </script>
Este es el código PHP (ajax_time.php):
<?php echo date("d/m/Y, h:i:s A); ?>
El siguiente ejemplo muestra cómo la página web se comunica con el servidor web cuando el usuario escribe caracteres en el campo de entrada:
Empiece a escribir el nombre del país en el campo de entrada siguiente/Nombre de la región:
País:
Sugerencias y comentarios:
En el ejemplo superior, cuando el usuario escribe caracteres en el campo de entrada, el evento showHint() ejecuta la función onkeyup.
Este es el código HTML:
<!DOCTYPE html> <html> <div> <p>Empiece a escribir el nombre del país en el campo de entrada siguiente/Nombre de la región:</p> <p>País: <input type="text" onkeyup="showHint(this.value)"></p> <p>Recomendación: <span id="result"></span></p> </div> <script> var elem = document.getElementById("result"); function showHint(name) { if (name.length === 0) {}} elem.innerHTML = ""; return; } else { var httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { elem.innerHTML = this.responseText; } }; httpRequest.open("GET", "ajax_hint.php?q=" + name, true); httpRequest.send(); } } </script> </html>
Este es el código PHP (ajax_hint.php):
<?php // Array de nombres de países $countries = array("Afganistán", "Albania", "Argelia", "Samoa Americana", "Andorra",...); // Obtener el parámetro q de la URL $q = $_REQUEST["q"]; $hint = ""; // Si $q es diferente de las sugerencias en el array, se recorre el array de todas las sugerencias "" if ($q !== "") { $q = strtolower($q); $len = strlen($q); foreach($countries as $name) { if (stristr($q, substr($name, 0, $len))) { if ($hint === "") { $hint = $name; } else { $hint .= ", $name"; } } } } //Si no se encuentran sugerencias o se devuelve el valor correcto, se muestra "sin sugerencias" echo $hint === "" ? "sin sugerencias" : $hint; ?>
Para una lista completa de nombres de países, consultehttps://gist.github.com/DHS/1340150