English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ejemplo de AJAX PHP

En este capítulo, mostraremos cómo enviar solicitudes AJAX a archivos PHP y cómo recuperar el contenido de los archivos PHP.

Ejemplo de AJAX PHP1

El siguiente ejemplo muestra cómo la página web se comunica con el servidor de red y recupera el contenido del archivo PHP:

Explicación del ejemplo:

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);
  ?>

Ejemplo de AJAX PHP2

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:

Ejecutar código

Explicación del ejemplo:

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