Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gastro

Detalhe do Código ajax

Recommended Posts

Vi em algum lugar uma explicação sobre o que cada linha abaixo faz, mas não achei mais...

Mas de qualquer seria legal se os mais experientes do forum pudesem esclarecer o codigo.

 

É legal pegar o codigo e entender o que faz...

Se alguem que sabe puder comentar as minhas.. pra saber o passo a passo do ajax...

 

var http_request = false;		function AJAX(url, sessao){		http_request = false;		if (window.XMLHttpRequest) { // Mozilla, Safari,...			http_request = new XMLHttpRequest();			if (http_request.overrideMimeType) {				http_request.overrideMimeType('text/xml');				// See note below about this line			}		} else if (window.ActiveXObject) { // IE			try {				http_request = new ActiveXObject("Msxml2.XMLHTTP");			} catch (e) {				try {					http_request = new ActiveXObject("Microsoft.XMLHTTP");				} catch (e) {}			}		}		if (!http_request) {			alert('Não foi possivel criar o exemplo de XMLHTTP, feche o navegador e entre novamente, ou troque de navegador. ');			return false;		}		http_request.onreadystatechange = alertContents;					http_request.open('GET', url, true);		http_request.send(null);	}	function alertContents() {		if (http_request.readyState == 4) {			if (http_request.status == 200) {				div = document.getElementById(sess);				div.innerHTML = http_request.responseText;			} else {				alert('Houve um problema com a solicitação, feche o navegador e entre novamente! Ou troque de navegador.\nCaso persista, nos informe do problema, Obrigado!');			}		}	}

Compartilhar este post


Link para o post
Compartilhar em outros sites
var http_request = false; //inicializa a variável e já coloca false nela		function AJAX(url, sessao){ //declara uma função que recebe 2 parametros		http_request = false; //zera a variável caso ela tenha sido alterada por alguma outra chamada		if (window.XMLHttpRequest) { //se esta variável não existe nativamente no sistema não entra nesse IF	// quem tem a variável window.WMLHttpRequest são apenas o Mozilla, Safari, FF.	// O IE e outro browser que não tiver iria mostrar erro ao tentar executar a linha abaixo			http_request = new XMLHttpRequest(); //instancia um objeto do browser XMLHttpRequest					if (http_request.overrideMimeType) { //se esta variável não existe nativamente no sistema não entra nesse IF		//Nunca entendi direito. É com relação a um bug no mozilla e sobrescreve o MimeType da solicitação				http_request.overrideMimeType('text/xml');			}		} else if (window.ActiveXObject) { //Else do if anterior. Se o navegador suportar ActiveX (IE)			try { //para capturar e tratar erros no bloco de código abaixo		//instancia um objeto activeX. Se o objeto MSxml2.XMLHttp não existir		//é gerado um erro e a execução vai para o bloco do catch				http_request = new ActiveXObject("Msxml2.XMLHTTP"); 			} catch (e) {// para onde a execução vai ao ocorrer algum erro dentro do Try				try { //mesma explicação anterior					http_request = new ActiveXObject("Microsoft.XMLHTTP");				} catch (e) { //mesma explicação anterior, só que, aqui, não é feito nada.			} //fim do catch acima			}		}		if (!http_request) { //se a variável não recebeu nada, quer dizer que ela ainda é false então entrará neste if			alert('Não foi possivel criar o exemplo de XMLHTTP, feche o navegador e entre novamente, ou troque de navegador. ');			return false; //vaza da função		}	//um dos eventos do xmlHttprequest (que foi instanciado dentro da var http_request)	//é o evento onreadystatechange. nesta linha, nós tamos falando pra executar	// a função alertContents() quando este evento ocorrer		http_request.onreadystatechange = alertContents;			//a função open do xmlHttprequest (que foi instanciado dentro da var http_request)	//manda o browser fazer uma requisição HTTP com o método passado ('get' ou 'post')	//para a url indicada, e se é síncrona (false) ou assíncrona (true)	//síncrona indica que não pode executar a próxima linha antes de terminar a requisição	//isto costuma, em alguns casos, travar o navegador	//assíncrona, faz com que o evento onreadystatechange (chega um status) tenha sentido.		http_request.open('GET', url, true);		http_request.send(null); //envia algum dado a mais para o servidor (usado em post geralmente)	}	function alertContents() { //função que é chamada quando ocorre uma troca de status no xmlhttprequest		if (http_request.readyState == 4) { //se este status é 4, a requisição foi beleza			if (http_request.status == 200) { //este status é o que foi enviado pelo servidor (status do protocolo HTTP)					// se ele é 200, quer dizer que a página foi encontrada e processada sem erros					//existem outros status como o 400, 500, etc. pesquisem na net sobre o HTTP				div = document.getElementById(sess); //procura o elemento que foi passado como parametro da função				div.innerHTML = http_request.responseText; //joga o retorno da requisição no elemento			} else { //ocorre quando o status http não foi 200				alert('Houve um problema com a solicitação, feche o navegador e entre novamente! Ou troque de navegador.\nCaso persista, nos informe do problema, Obrigado!');			}		}	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.