terça-feira, 18 de outubro de 2011

Mais Ajax

Durante bom tempo tive a oportunidade de trabalhar com Ajax e considero a linguagem de alto potencial. Mais códigos então:

---------------------Coloque no <Head>--------

<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 chamajax(valor,nomeporta)
{


alert(valor+" "+nomeporta);

var refnomeporta = nomeporta;
var meuvalor = valor;


    Ajax=AjaxRequest();
          if(Ajax)
          {
            with(Ajax)
            {
                v_proc="atulizasistema.php?idporta="+encodeURIComponent(refnomeporta)+"&valor="+encodeURIComponent(meuvalor);

                open("POST",v_proc,true);

                onreadystatechange=function() {

                  if(readyState == 4)
                  {
                    if(status == 200)

                      document.getElementById("exibirAqui").innerHTML=responseText
                    else
                      alert("Erro!O Sistema não obteve resposta do servidor.");
                  }
                }
              setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=iso-8859-1");
              send(null);
            }
}
</script>

---------------------

O código em questão apresenta algumas coisas interessantes. Um disparo Javascript envia duas variáveis valor e nomeporta que podem ser variáveis de qualquer tipo. O Ajax chama o arquivo atulizasistema.php enviando as variaveis como parametros. Detalhe no comando encodeURIComponent() que vai codificar as variáveis para que elas não apareçam na URL durante o envio. O comando:
document.getElementById("exibirAqui").innerHTML=responseText
Vai chamar o atulizasistema.php e colocar o arquivo inteiro no lugar da tag com a id referida "exibirAqui" que deverá ficar em alguma parte do código onde o Javascript é disparado. Algo como:

<div id="exibirAqui">

Vale lembrar que o Javascript pode fazer dois caminhos para uma variável, no caso acima a variável foi colocada dentro do HTML. Para fazer o inverso, trazer a variável do HTML para o Javascript apos a chamada o comando seria:

var valorCapturado=document.getElementById('idDiv').value;

O contrário também funciona:

document.getElementById('idDiv').value=valorReceber;



Mostrarei mais sobre o potencial do Ajax em Posts futuros.


Nenhum comentário:

Postar um comentário