Archive for December, 2007

AJAX Simples Thursday, December 13th, 2007

Muito bem… Sei que é impossível ser mais simples do que isso, mas ainda assim é simples e ainda te ajuda a entender um pouco mais como funciona…

Arquivo ajax.js

//Mini Biblioteca de Ajax

var xmlHttp;
var resultado;
var xmlDoc;
function iniciaAjax()
{
//////////////////////////////////////
//Uso:										//
//var xml = iniciaAjax;					//
//Retorna null caso não suporte.		//
//////////////////////////////////////
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
//Função que requisita uma página por GET;
function getRequest(url)
{
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function retornaNode(myNode)
{
	if(xmlDoc.getElementsByTagName(myNode)[0])
	{
		var nodeValue = xmlDoc.getElementsByTagName(myNode)[0].childNodes[0].nodeValue;
		if(nodeValue != null)
		{
			return nodeValue.trim();
		}
	}
	else
	{
		return "Nada encontrado;"
	}
}
String.prototype.trim = function()
{
return this.replace(/^s*/, "").replace(/s*$/, "");}

Explicação das Funções:

iniciaAjax()
Como o próprio nome diz, inicia o ajax em browsers suportados (Cross-Browser)
Exemplo: xmlHttp = iniciaAjax();

getRequest(url)
Faz uma resquisição por meio de GET
Exemplo: getRequest(”pagina.php?q=a”);

retornaNode(myNode)
Funcao que retorna o valor de um nó de um xml, que deve ser passado para xmlDoc
Exemplo: var nome = retornaNode(”nome”);

variavel.trim
Remove espaços em branco desnecessários da string. Como eu não achei uma pronta, tem essa daí

No próximo post vou dar exemplos praticos