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

Exemplo AJAX PHP

Neste capítulo, vamos mostrar como enviar uma solicitação AJAX para um arquivo PHP e como recuperar o conteúdo do arquivo PHP.

Exemplo AJAX PHP1

O exemplo a seguir mostra como a página da web se comunica com o servidor de rede e recupera o conteúdo do arquivo PHP:

Explicação do Exemplo:

No exemplo acima, o evento fetchDoc() executa uma função onclick.

Este é o 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 é o código PHP (ajax_time.php):

  <?php
  echo date("d/m/Y, h:i:s A");
  ?>

Exemplo AJAX PHP2

O exemplo a seguir mostra como a página da web se comunica com o servidor web ao digitar caracteres no campo de entrada:

Comece a digitar o país no campo de entrada abaixo/Nome da Região:

País:

Sugestões e Feedback:

Executar Código

Explicação do Exemplo:

No exemplo acima, quando o usuário digita caracteres no campo de entrada, o evento showHint() executa a função onkeyup.

Este é o código HTML:

  <!DOCTYPE html>
  <html>
  
  <div>
  <p>Comece a digitar o país no campo de entrada abaixo/Nome da Região:</p>
  <p>País: <input type="text" onkeyup="showHint(this.value)"></p>
  <p>Recomendação: <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 é o código PHP (ajax_hint.php):

  <?php
  
  // Array de nomes de países
  $countries = array("Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",...);
  // Obter parâmetro q da URL
  $q = $_REQUEST["q"];
  
  $hint = "";
  
  // Se $q for diferente das sugestões no array, percorra todas as sugestões no array ""
  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";
      }
    }
    }
  }
  
  //Se não for encontrado nenhum sugestão ou se for exibido o valor correto, mostre "no suggestion"
  echo $hint === "" ? "no suggestion" : $hint;
  
  ?>

Para uma lista completa de nomes de países, consultehttps://gist.github.com/DHS/1340150