Tutorial PHP Ajax com exemplo

O que รฉ Ajax?

AJAX o formulรกrio completo รฉ assรญncrono JavaScript & XML. ร‰ uma tecnologia que reduz as interaรงรตes entre o servidor e o cliente. Ela faz isso atualizando apenas parte de uma pรกgina da web em vez de toda a pรกgina. As interaรงรตes assรญncronas sรฃo iniciadas por JavaScript. O objetivo do AJAX รฉ trocar pequenas quantidades de dados com o servidor sem atualizar a pรกgina.

JavaScript รฉ uma linguagem de script do lado do cliente. ร‰ executado no lado do cliente pelos navegadores que suportam JavaRoteiro.JavaO cรณdigo do script sรณ funciona em navegadores que possuem JavaScript habilitado.

XML รฉ a sigla para Extensible Markup Language. Ele รฉ usado para codificar mensagens em formatos legรญveis por humanos e por mรกquinas. ร‰ como HTML, mas permite que vocรช crie suas tags personalizadas. Para obter mais detalhes sobre XML, consulte o artigo sobre XML

Por que usar AJAX?

  • Ele permite o desenvolvimento de aplicativos da web interativos e ricos, assim como os aplicativos de desktop.
  • A validaรงรฃo pode ser realizada conforme o usuรกrio preenche um formulรกrio sem enviรก-lo. Isso pode ser conseguido usando o preenchimento automรกtico. As palavras que o usuรกrio digita sรฃo enviadas ao servidor para processamento. O servidor responde com palavras-chave que correspondem ao que o usuรกrio digitou.
  • Pode ser usado para preencher uma caixa suspensa dependendo do valor de outra caixa suspensa
  • Os dados podem ser recuperados do servidor e apenas uma determinada parte de uma pรกgina atualizada sem carregar a pรกgina inteira. Isso รฉ muito รบtil para partes de pรกginas da web que carregam coisas como
  • Tweets
  • Comentรกrios
  • Usuรกrios que visitam o site etc.

Como criar uma aplicaรงรฃo PHP Ajax

Criaremos um aplicativo simples que permitirรก aos usuรกrios pesquisar estruturas PHP MVC populares.

Nosso aplicativo terรก uma caixa de texto onde os usuรกrios digitarรฃo os nomes do framework.

Em seguida, usaremos mvc AJAX para procurar uma correspondรชncia e exibiremos o nome completo da estrutura logo abaixo do formulรกrio de pesquisa.

Etapa 1) Criando a 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>

AQUI,

  • โ€œonkeyup=โ€showName(this.value)โ€โ€ executa o JavaFunรงรฃo de script showName sempre que uma tecla รฉ digitada na caixa de texto. Esse recurso รฉ chamado de preenchimento automรกtico

Etapa 2) Criando a pรกgina de frameworks

frameworks.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;

?>

Etapa 3) Criando o script JS

auto_complete.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();

}

AQUI,

  • โ€œif (str.length == 0)โ€ verifique o comprimento da string. Se for 0, o restante do script nรฃo serรก executado.
  • โ€œif (window.XMLHttpRequest)โ€ฆโ€ As versรตes 5 e 6 do Internet Explorer usam ActiveXObject para implementaรงรฃo AJAX. Outras versรตes e navegadores como Chrome, FireFox use XMLHttpRequest. Este cรณdigo garantirรก que nosso aplicativo funcione no IE 5 e 6 e em outras versรตes superiores do IE e navegadores.
  • โ€œxmlhttp.onreadystatechange=functionโ€ฆโ€ verifica se a interaรงรฃo AJAX foi concluรญda e o status รฉ 200 e, em seguida, atualiza o intervalo txtName com os resultados retornados.

Etapa 4) Testando nosso aplicativo PHP Ajax

Supondo que vocรช salvou o arquivo index.php em phututs/ajax, navegue atรฉ a URL http://localhost/phptuts/ajax/index.php

Testando nosso aplicativo PHP Ajax

Digite a letra C na caixa de texto. Vocรช obterรก os seguintes resultados.

Testando nosso aplicativo PHP Ajax

O exemplo acima demonstra o conceito de AJAX e como ele pode nos ajudar a criar aplicativos de interaรงรฃo ricos.

Resumo

  • AJAX รฉ a sigla para Assรญncrono JavaScript e XML
  • AJAX รฉ uma tecnologia usada para criar aplicativos de interaรงรฃo ricos que reduzem as interaรงรตes entre o cliente e o servidor, atualizando apenas partes da pรกgina web.
  • O Internet Explorer versรตes 5 e 6 usam ActiveXObject para implementar operaรงรตes AJAX.
  • Internet Explorer versรฃo 7 e superior e navegadores Chrome, Firefox, Operae o Safari usam XMLHttpRequest.

Resuma esta postagem com: