Ir para conteúdo

POWERED BY:

Arquivado

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

afbartels

[Resolvido] Primeiro código AjAX

Recommended Posts

Boa tarde pessoal, estou iniciando nesse novo mundo, e já estou com dúvidas.

 

O problema é que o estado do objeto XMLHttpRequest não assume outro valor a não ser 1.

 

Este código eu tirei de um livro que eu comprei para aprender AJAX. Além desse, todos os outros exemplos estão dando o mesmo problema. Alguem poderia me ajudar?

 

function Processa()
{
	ajax = IniciaAjax();
	if(ajax)
	{

		ajax.onreadystatechange = function(){
			if(ajax.readyState == 4) {
				if(ajax.status == 200) {
					document.getElementById("resultado").value = ajax.responseText;
				} else { alert(ajax.statusText);}
			} 
		} 
		
		nome = document.getElementById("nome").value;
		valor = document.getElementById("valor").value;
		dados = 'nome='+nome+"&valor="+valor;
	
		ajax.open('POST', 'processa.php', true);		
		ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		ajax.send(dados);
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

function IniciaAjax(){

var ajax;

if(window.XMLHttpRequest){ // Mozilla, Safari,...

ajax = new XMLHttpRequest();

} else if (window.ActiveXObject){ // IE

ajax = new ActiveXObject("Msxml2.XMLHTTP");

if (!ajax) {

ajax = new ActiveXObject("Microsoft.XMLHTTP");

}

}

else {

alert("Seu navegador não possui suporte a essa aplicação!");

}

return ajax;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui nesta parte:

 

ajax.onreadystatechange = function(){
			if(ajax.readyState == 4) {
				if(ajax.status == 200) {
					document.getElementById("resultado").value = ajax.responseText;
				} else { alert(ajax.statusText);}
			}
		}

tenta fazer só o primeiro IF (ajax.readyState) sem o ELSE e veja se dá resultado:

 

ajax.onreadystatechange = function(){
			if(ajax.readyState == 4) {
				  document.getElementById("resultado").value = ajax.responseText;
			}
		}

Outra forma de saber se está tudo ok é monitorando a mudança de status. Assim:

 

ajax.onreadystatechange = function(){
   alert(ajax.readyState)
}

OU AINDA talvez você tenha que usar aspas simples no DOM. Ao invés de document.getElementById("resultado") use document.getElementById('resultado').

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.