segunda-feira, 10 de outubro de 2011

Requisição Ajax

Uma das técnicas mais famosas e responsáveis pelo surgimento da WEB 2.0 é o Ajax. O Ajax é uma chamada realizada em JavaScript sem o recarregamento do navegador. Ou seja, por não armazenar dados de navegação efetua requisições em alta velocidade e sem registros no histórico. E, como não deixa registro de histórico também não permite o retorno ao status da página anterior pelo botão "Back" (Voltar). A chamada é simples e o código deve ficar dentro da tag <head>. A chamada é feita dentro do código da página usando alguma das famosas chamadas JavaScript como onMouseOver, onClick, onLoad entre outras. Segue o código.

<script language="JavaScript">
function AjaxRequest()
{
     var Ajax=false;

     if(window.XMLHttpRequest) //mozilla,safari
       Ajax=new XMLHttpRequest();
     else if(window.ActiveXObject) //IE
     {
       try{
         Ajax=new ActiveXObject("Mxxml2.XMLHTTP");
       }catch(e){
         Ajax=new ActiveXObject("Microsoft.XMLHTTP");
       }
     }
     return(Ajax);
}
function funcaoChamada(parametroUm,parametroDois,nomediv){

        var v_paginaRequisitada="nomedapagina.php?um="+parametroUm+"&dois="+parametroDois;
        Ajax=AjaxRequest();
        if(Ajax)
        {
            with(Ajax)
            {

                open("POST",v_paginaRequisitada,true);
                onreadystatechange=function() {

                  if(readyState == 4)
                  {
                    if(status == 200)
                      document.getElementById(nomediv).innerHTML=responseText
                    else
                      alert("Erro!O Sistema não obteve resposta do servidor.");
                  }
                }


             setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
//             setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=iso-8859-1");
             send(null);
           }
        }else
            alert("Erro ao buscar os "+nomediv+"!");
}
</script>

//// No Código da página deve estar a div onde a pagina requisitada surgirá


<DIV id="idDadiv" name="nomeDaDiv">
Aqui surgirá a página
</DIV>


//// E a chamada deverá estar dentro de alguma  TAG que poderá ser até mesmo outra DIV


<div onClick="funcaoChamada(parametroUm,parametroDois,nomeDaDiv);">Ao Clicar neste texto a requisição ocorrerá</div>

Nenhum comentário:

Postar um comentário