Enviar mediante POST e GET usando uma só função AJAX

Quando se realiza uma web que usa AJAX, o problema mais freqüente é ter que escrever uma função para cada variável ou conjunto de variáveis que se quer passar. Isto soma muito peso ao código de seu website.

Por Pablo Lecce


Publicado em: 14/2/08
Valorize este artigo:
Neste tutorial contamos como criar uma só função que lhe permita passar variáveis mediante GET e POST entre duas páginas web usando AJAX .

Isto aliviará muito o peso de seus arquivos javascript e de suas páginas já que você usará uma função para tudo e não uma para cada variável ou conjunto de variáveis que deseje passar.

ANTES DE COMEÇAR

Este tutorial está feito para pessoas que saibam como criar objetos AJAX, escrever funções e passá-las mediante AJAX por POST ou GET. Também que tenham conhecimentos sobre PHP e Javascript. Se não for o seu caso, por favor aprofunde-se em tais aspectos a fim de entendê-lo.

O CÓDIGO

Primeiro copio aqui o código completo, e logo passarei a analisá-lo.

<script>

function objetus(file) {

xmlhttp=false;

this.AjaxFailedAlert = "Seu navegador não suporta as funcionalidades deste site e poderia experimentá-lo de forma diferente q eu foi pensada. Por favor habilite javascript em seu navegador para vê-lo normalmente.\n";

this.requestFile = file;

this.encodeURIString = true;

this.execute = false;

if (window.XMLHttpRequest) {

this.xmlhttp = new XMLHttpRequest();

if (this.xmlhttp.overrideMimeType) {

this.xmlhttp.overrideMimeType('text/xml');

}

}

else if (window.ActiveXObject) { // IE

try {

this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

}catch (e) {

try {

this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e) {

this.xmlhttp = null;

}

}

if (!this.xmlhttp && typeof XMLHttpRequest!='undefined') {

this.xmlhttp = new XMLHttpRequest();

if (!this.xmlhttp){

this.failed = true;

}

}

}

return this.xmlhttp ;

}

function recebeid(_pagina,valorget,valorpost,camada){

ajax=objetus(_pagina);

if(valorpost!=""){

ajax.open("POST", _pagina+"?"+valorget+"&tempo="+new Date().getTime(),true);

} else {

ajax.open("GET", _pagina+"?"+valorget+"&tempo="+new Date().getTime(),true);

}

ajax.onreadystatechange=function() {

if (ajax.readyState==1){

document.getElementById(camada).innerHTML = "<img src='loadingcircle.gif' align='center'> Aguarde por favor...";

}

if (ajax.readyState==4) {

if(ajax.status==200)

{document.getElementById(capa).innerHTML = ajax.responseText;}

else if(ajax.status==404)

{

capa.innerHTML = "O endereço não existe";

}

else

{

camada.innerHTML = "Error: ".ajax.status;

}

}

}

if(valorpost!=""){

ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

ajax.send(valorpost);

} else {

ajax.send(null);

}

}

</script>






Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato