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